Python中如何使用conda管理包并安装默认源中没有的包,例如flask-notifications?

求教使用 conda 管理 python 的包,可是有些包在默认的源里面没有,要如何安装呢?比如 flask-notifications.
用过 conda skeleton pipy install 之类,貌似没成功。
其实感觉 pypi 里面的包是最全的,不过现在只添加了清华的第三方源,不知道 pypi 怎么添加
Python中如何使用conda管理包并安装默认源中没有的包,例如flask-notifications?

20 回复

帖子标题问的是怎么用conda管理包,特别是装那些默认源里没有的,比如flask-notifications

这事儿其实挺常见的。Conda默认的defaultsconda-forge频道里包虽然多,但也不可能啥都有。要装这种“冷门”包,核心思路就是找找看有没有其他Conda频道提供了它,或者直接用pip在Conda环境里装。

1. 先搜搜看有没有Conda频道提供 打开终端或Anaconda Prompt,用conda search命令搜一下,记得指定conda-forge或其他你信任的频道,因为它比默认频道包更全。

conda search -c conda-forge flask-notifications

如果搜到了,那就直接用conda install从那个频道装,这是最省心的。

conda install -c conda-forge flask-notifications

2. 如果Conda频道里没有,就用pip 很多时候,特别是比较新的或者比较小众的Python包,只有PyPI上有。这时候就在你的Conda环境里直接用pip装。Conda和pip混用现在只要注意顺序(尽量用conda装基础包,pip装剩下的)问题不大。

# 先激活你的conda环境(假设环境名叫myenv)
conda activate myenv
# 然后用pip安装
pip install flask-notifications

重要提示务必确保你已经激活了目标Conda环境,这样pip才会把包装到当前环境里,而不是系统Python或者其他地方。装完之后,可以用conda list看看,通过pip装的包也会显示在列表里。

3. 终极方案:自己建个Conda包 如果这个包对你项目特别关键,或者你需要严格复现环境,可以考虑自己为它打个Conda包,放到私有频道里。但这步对大多数人来说有点复杂,需要用到conda-build,一般到前两步就解决了。

总结一下:优先在conda-forge等频道搜索,没有的话就用pip在Conda环境里安装,这是最实用的方法。

一句话建议:搜不到就用pip在环境里装。

anaconda search

conda-forge

就用 pip,conda 这个发行版有 pip 的





感谢提示。
conda install -c 这个是从 anaconda 源里面选择吧,可是 flask-notifications ( https://flask-notifications.readthedocs.io/en/latest/不在 anaconda 里面,在 pypi 里面。
anaconda search 找不到这个 flask-notifications
conda-forge:conda config --add channels 读了 conda-forge 的文档,感觉这个就是添加源的,问题是不知道 pypi 的源怎么写地址?

问题很 low,谢谢大家指点。

直接 pip ?不是说这样用了之后就不能在 conda 下面管理了吗

那怕啥,一般我们搞 DL 都是这么来

pip install Flask-Notifications
Could not find a version that satisfies the requirement flask-notifications.

conda create --name XXXX python=x flask-notifications

miniconda/bin/pip install flask-notifications


miniconda/bin/python -m pip install flask-notifications

Could not find a version that satisfies the requirement flask-notifications.

创建一个新的环境?

估计多半是 py2 py3 的问题。

另外 flask-notifications 这个库看上去写得不是特别烂也是一般烂了。

机器之安装了 py3 还是 anaconda 自带的。

主要就犯懒,看起来还是要自己写,不过可能写的更烂………………

pip install 呗,还能怎么样

source 进对应的版本 直接 pip 安装的话就是安装在对应的虚拟环境

conda 是一个类似 pypi 的库管理,conda-forge 是 conda 的一个社区维护的列表,类似于 brew cask 之于 brew。一般情况下 forge 已经包含很多常用的库,可以尝试用 conda 直接安装

If a package is not available from conda or Anaconda.org, you may be able to find and install the package with another package manager like pip.
详见 https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-pkgs.html#installing-non-conda-packages

回到顶部