PythonPath和Python配置脚本

时间:2015-12-09 00:06:20

标签: python macos python-2.7 pythonpath

我需要一些重要的帮助而且有点害怕,因为我不想弄乱我的电脑!我在运行OSX 10.10.5的Macbook Air上。所以我按照教程来帮助我学习Django。该教程并不重要。重要的是,当我这样做时,我将$ PYTHONPATH更改为:

export PYTHONPATH = $ PYTHONPATH:/ usr / local / bin /../../../ Library / Frameworks / Python.framework / Versions / 2.7 / lib / python2.7 / site-packages

然后我害怕自制的警告:

警告:" config"脚本存在于系统或Homebrew目录之外。 ./configure脚本通常会查找* -config脚本以确定是否 安装软件包,以及使用什么附加标志 编译和链接。

在您的路径中添加其他脚本可能会混淆通过安装的软件 如果配置脚本覆盖系统或提供的Homebrew,则自制 同名脚本。我们发现以下" config"脚本:     /Library/Frameworks/Python.framework/Versions/2.7/bin/python-config     /Library/Frameworks/Python.framework/Versions/2.7/bin/python2-config     /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config

警告:您的XQuartz(2.7.7)已过时 请安装XQuartz 2.7.8:   https://xquartz.macosforge.org

警告:Python安装在/Library/Frameworks/Python.framework

Homebrew只支持构建系统提供的Python或者 酿造Python。特别是,安装到/ Library的Pythons会干扰 与其他软件安装。

我害怕因为两件事情首先是与配置脚本有关的消息然后是这一件事而搞砸了一些事情:

警告:Python安装在/Library/Frameworks/Python.framework

Homebrew只支持构建系统提供的Python或者 酿造Python。特别是,安装到/ Library的Pythons会干扰 与其他软件安装。

我做了我的研究,这里是我找到的链接:

Repairing mysterious Python config scripts outside of the system

https://stackoverflow.com/questions/34030890/homebrew-warnings-additional-config-scripts-in-python

第一个说要清理我的路径,但我不知道该怎么做,第二个没有答案。

任何帮助都会非常感激,因为我不想使用我的电脑,直到我能确保一切都已修好!

编辑:使用export $ PATH = / usr / local / bin会解决我的问题吗?我从这个链接得到了这个:https://apple.stackexchange.com/questions/96308/python-installation-messed-up

1 个答案:

答案 0 :(得分:0)

根据我的第二条评论:你的PATH和PYTHONPATH取决于你正在使用的东西。如果你为你正在使用的特定Python安装必要的软件包(例如,使用补充的pip),你就不必需要PYTHONPATH;你可以修改PATH以包含那个Python可执行文件,如果它还没有在PATH上。

例如,我使用Homebrew Python。我的默认PATH已包含/usr/local/bin,我使用/usr/local/bin/pip来安装特定Python的包。不需要PYTHONPATH,如果我确定使用/usr/local/bin/python,一切正常。

这样做的结果是,/usr/bin/python可能比/usr/local/bin/python更早发现在你的PATH上。那会引起问题。使用完整路径/usr/local/bin/python或设置别名(输入更短)。

事实上,这样我在/usr/local/bin中运行Python 2.7,3.4和3.5,都使用别名。对于系统脚本,我仍然在/usr/bin/python处拥有我的系统Python。 (具有多个版本的棘手部分是pip:我已经制作了多个pip副本,每个副本都有不同的名称,每个副本都有不同的hash-bang作为第一行。或者,我可以运行/usr/local/bin/pythonx.y /usr/local/bin/pip并且正确使用pip。)

简而言之:

  • 取消PYTHONPATH
  • 确保/usr/local/bin包含在路径中,但没有必要将其设置在路径的前面
  • 删除Homebrew Python

以下内容取决于您是否要使用Homebrew:

  • 如果你想使用最新的Python版本,(重新)用Homebrew安装Python 2(和3;只是尝试一下)。
  • 如果需要,为/usr/local/bin/python2.7和相应的pip制作别名。 (同上Python 3。)
  • 安装所有pip包。或者,如果您使用setup.py,并使用适当的Python可执行文件。

如果你想使用类似的东西,例如Anaconda Python。

如果您尝试安装某些二进制包(例如,通过安装程序),您一定会陷入困境。不要这样做,使用适当的点。