gpt4 book ai didi

python - 在 Anaconda 中安装 Python 模块开发版本的最佳实践是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:13:57 24 4
gpt4 key购买 nike

我在 Mac 上使用 Anaconda python 发行版。我想玩最新版本的 matplotlib source code on Github ,做一些改变,看看它是如何运行的。但大多数时候我只是想使用 Anaconda Python 附带的普通版本的 matplotlib,所以我想要一种可以轻松来回切换的方法。

matplotlib 文档对 branching and pull-request workflow 有很好的描述,但我不清楚我实际上是如何安装和使用 matplotlib 的开发版本,以保留我的工作 Python 实现。

我的猜测是我想设置一个包含最新 matplotlib 版本及其依赖项的环境,并在该环境和普通 root 环境之间切换。但是当我使用 python setup.py develop 安装 matplotlib 的开发版本时,它似乎安装到两个环境。

那么,使用来自 GitHub 的 Python 包的开发版本的最佳实践是什么?

最佳答案

正如您在问题中提到的, conda env 能够为您要处理的任何包的开发版本维护单独的 Python 环境。


我不太清楚你为什么会发现 python setup.py develop正在将 matplotlib 的开发版本安装到您​​的 root环境。也许您创建了一个新环境,但在安装开发版 matplotlib 之前没有激活它?例如:

~$ conda create --name matplotlib-dev --clone root
Fetching package metadata: ....
src_prefix: '/home/alistair/anaconda'
dst_prefix: '/home/alistair/anaconda/envs/matplotlib-dev'
Packages: 165
Files: 32
Linking packages ...
[ COMPLETE ]|#####################################################| 100%
#
# To activate this environment, use:
# $ source activate matplotlib-dev
#
# To deactivate this environment, use:
# $ source deactivate
#
~$ conda info --envs
# conda environments:
#
matplotlib-dev /home/alistair/anaconda/envs/matplotlib-dev
root * /home/alistair/anaconda

此时我已经创建了一个 matplotlib-dev环境,但我还没有激活它,所以安装任何新包仍然会修改我的 root环境。

~$ source activate matplotlib-dev
discarding /home/alistair/anaconda/bin from PATH
prepending /home/alistair/anaconda/envs/matplotlib-dev/bin to PATH

(matplotlib-dev)~$ conda info --envs
# conda environments:
#
matplotlib-dev * /home/alistair/anaconda/envs/matplotlib-dev
root /home/alistair/anaconda

在任何情况下,直接使用设置工具(即 python setup.py installpython setup.py develop )都是 no longer recommended , 和 might not be supported by future versions of numpy etc. .

首选方法是使用 pip install <path> , 或 pip install -e <path>如果你想要 "editable"安装(类似于 python setup.py develop 给你的):

(matplotlib-dev)~$ pip install -e git+git://github.com/matplotlib/matplotlib.git#egg=matplotlib-dev
Obtaining matplotlib from git+git://github.com/matplotlib/matplotlib.git#egg=matplotlib-dev
Cloning git://github.com/matplotlib/matplotlib.git to ./src/matplotlib
...
Installing collected packages: matplotlib
Running setup.py develop for matplotlib
Successfully installed matplotlib-1.5.0+337.g595868a

(matplotlib-dev)~$ python -c "import matplotlib; print(matplotlib.__version__)"
1.5.0.post337+g595868a

(matplotlib-dev)~$ source deactivate
discarding /home/alistair/anaconda/envs/matplotlib-dev/bin from PATH

~$ python -c "import matplotlib; print(matplotlib.__version__)"
1.4.3

注意 #egg= part ,它告诉 pip将源安装到 ./src/matplotlib-dev .而不是 git URI 你也可以传递 pip如果您已经有了当前正在处理的本地副本,则为本地源目录的路径。

也应该可以使用 conda develop <path> 而不是 pip install -e <path> , 尽管 conda似乎不提供像 pip 这样的集成 VCS 支持

关于python - 在 Anaconda 中安装 Python 模块开发版本的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com