Python中如何使用conda管理包并安装默认源中没有的包,例如flask-notifications?
求教使用 conda 管理 python 的包,可是有些包在默认的源里面没有,要如何安装呢?比如 flask-notifications.
用过 conda skeleton pipy install 之类,貌似没成功。
其实感觉 pypi 里面的包是最全的,不过现在只添加了清华的第三方源,不知道 pypi 怎么添加
Python中如何使用conda管理包并安装默认源中没有的包,例如flask-notifications?
-c
帖子标题问的是怎么用conda管理包,特别是装那些默认源里没有的,比如flask-notifications。
这事儿其实挺常见的。Conda默认的defaults和conda-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在环境里装。
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


