PythonPython的配置脚本会与自制程序冲突吗?

2024-04-28 15:12:16 发布

您现在位置:Python中文网/ 问答频道 /正文

PythonPython的配置脚本会与自制程序冲突吗?请注意,我在我的任何工作流中都没有使用这些配置脚本,我只是想知道这些配置脚本中是否有一个可能被称为“幕后”。下面的输出示例(用户名替换为“..”):

$ brew doctor
...
Having additional scripts in your path can confuse software installed via

如果配置脚本覆盖提供的系统或自制程序,则为自制程序 同名的脚本。我们找到了以下“配置”脚本:

^{pr2}$

显然,其中一些与一些自制安装的软件包冲突。在

$ ls /usr/local/bin/*-config
/usr/local/bin/Magick++-config   /usr/local/bin/libpng-config
/usr/local/bin/Magick-config     /usr/local/bin/libpng16-config
/usr/local/bin/MagickCore-config /usr/local/bin/pcre-config
/usr/local/bin/MagickWand-config /usr/local/bin/pkg-config
/usr/local/bin/Wand-config       /usr/local/bin/python-config
/usr/local/bin/freetype-config   /usr/local/bin/python2-config
/usr/local/bin/gdlib-config      /usr/local/bin/python2.7-config

Tags: 程序脚本config示例binusrlocalscripts
2条回答

你完全有可能不会注意到任何问题。另一方面,你可能有一些相当令人沮丧的。这完全取决于您使用什么以及您的$PATH是如何排序的。自制程序将使用您的$PATH中具有优先权的任何文件;如果另一个自制程序包需要使用自制程序安装的配置文件,并且它首先看到了Anaconda版本,那么它不知道是否比使用错误的版本更好。从某种意义上说,这就是你告诉它要做的。在

我的建议是保持简单和干净。除非你有一个特殊的理由让水蟒留在你的$PATH上,否则你应该把它放出来,然后alias任何你需要的东西。另外,你也可以通过自制程序安装你需要的东西(比如numpy),然后完全消灭Python。(事实上,这就是我要做的。Python带来的东西比我有任何理由倾倒到我的机器上的东西多得多。)

我不知道你的$PATH长什么样,但以我的经验,保持简短和系统化有很多好处。在

这种冲突是完全可能的。当您使用自制程序安装依赖Python的软件时,您希望它看到通过自制程序安装的Python包和库,而不是Anaconda安装的那些包和库。在

我的解决办法是

export PATH=$HOME/anaconda/bin:$PATH

进入.bashrc。通常,您只需使用Python和通过自制程序安装的pip,以及由{}安装的软件包。有时,当您开发Python项目时,如果您使用Anaconda的environment management mechanismconda create -n my-env),您可以暂时使用export PATH=$HOME/anaconda/bin:$PATH来打开它。根据我收集到的信息,与使用常规Python相比,使用Anaconda的一个重要好处是,conda create -n my-env anaconda不会像拥有大量虚拟环境时virtualenv my-env那样不必要地重复安装包。如果您不介意有某种程度的重复,您可以避免将Anaconda全部安装在一起,只需使用virtualenv。在

相关问题 更多 >