Python路径和Python配置脚本
PythonPath and Python Config Scripts
我需要一些主要帮助并且有点害怕,因为我不想弄乱我的电脑!我使用的是 Macbook Air 运行 OSX 10.10.5。所以我正在学习帮助我学习 Django 的教程。教程不重要。重要的是,在执行此操作时,我将 $PYTHONPATH 更改为:
导出 PYTHONPATH=$PYTHONPATH:/usr/local/bin/../../../Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
然后我被自制警告吓到了:
警告:"config" 脚本存在于您的系统或 Homebrew 目录之外。
./configure
脚本通常会查找 *-config 脚本以确定是否
安装了软件包,以及什么时候使用的附加标志
编译和 linking.
在你的路径中有额外的脚本可能会混淆通过安装的软件
Homebrew 如果配置脚本覆盖系统或 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-配置
警告:您的 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 可能会干扰
与其他软件安装。
我做了研究,这是我发现的 link:
Repairing mysterious Python config scripts outside of the system
第一个说要清理我的路径,但我不知道该怎么做,第二个也没有答案。
任何帮助将不胜感激,因为在我确定一切都已修复之前我不想使用我的计算机!
编辑:使用 export $PATH = /usr/local/bin 会解决我的问题吗?我从这个 link: https://apple.stackexchange.com/questions/96308/python-installation-messed-up
根据我的第二条评论:您的 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
,或设置一个别名(更短的类型)。
事实上,这样我 运行ning Python 2.7、3.4 和 3.5 都在 /usr/local/bin
中,都带有别名。我的系统 Python 仍然在 /usr/bin/python
用于系统脚本。 (多个版本的棘手部分是 pip:我制作了 pip 的多个副本,每个副本都以不同的方式命名,每个副本的第一行都有不同的 hash-bang。或者,我可以 运行 /usr/local/bin/pythonx.y /usr/local/bin/pip
和使用了正确的 pip
。)
简而言之:
- 取消设置 PYTHONPATH
- 确保
/usr/local/bin
包含在PATH中,但不必将其设置在PATH的前面
- 删除 Homebrew Python
以下取决于您是否要使用 Homebrew:
- 如果您想使用最新的 Python 版本,请(重新)安装 Python 2(和 3;只需试用)Homebrew。
- 如有必要,为
/usr/local/bin/python2.7
和相应的 pip
创建别名。 (同上 Python 3.)
- 安装 pip 的所有包。或者,如果您使用
setup.py
和适当的 Python 可执行文件。
如果您想使用类似的东西,例如 Anaconda Python。
如果您尝试安装某些二进制包(例如,通过安装程序),您一定会把事情搞砸。不要这样做,使用适当的点子。
我需要一些主要帮助并且有点害怕,因为我不想弄乱我的电脑!我使用的是 Macbook Air 运行 OSX 10.10.5。所以我正在学习帮助我学习 Django 的教程。教程不重要。重要的是,在执行此操作时,我将 $PYTHONPATH 更改为:
导出 PYTHONPATH=$PYTHONPATH:/usr/local/bin/../../../Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
然后我被自制警告吓到了:
警告:"config" 脚本存在于您的系统或 Homebrew 目录之外。
./configure
脚本通常会查找 *-config 脚本以确定是否
安装了软件包,以及什么时候使用的附加标志
编译和 linking.
在你的路径中有额外的脚本可能会混淆通过安装的软件 Homebrew 如果配置脚本覆盖系统或 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-配置
警告:您的 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 可能会干扰 与其他软件安装。
我做了研究,这是我发现的 link:
Repairing mysterious Python config scripts outside of the system
第一个说要清理我的路径,但我不知道该怎么做,第二个也没有答案。
任何帮助将不胜感激,因为在我确定一切都已修复之前我不想使用我的计算机!
编辑:使用 export $PATH = /usr/local/bin 会解决我的问题吗?我从这个 link: https://apple.stackexchange.com/questions/96308/python-installation-messed-up
根据我的第二条评论:您的 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
,或设置一个别名(更短的类型)。
事实上,这样我 运行ning Python 2.7、3.4 和 3.5 都在 /usr/local/bin
中,都带有别名。我的系统 Python 仍然在 /usr/bin/python
用于系统脚本。 (多个版本的棘手部分是 pip:我制作了 pip 的多个副本,每个副本都以不同的方式命名,每个副本的第一行都有不同的 hash-bang。或者,我可以 运行 /usr/local/bin/pythonx.y /usr/local/bin/pip
和使用了正确的 pip
。)
简而言之:
- 取消设置 PYTHONPATH
- 确保
/usr/local/bin
包含在PATH中,但不必将其设置在PATH的前面 - 删除 Homebrew Python
以下取决于您是否要使用 Homebrew:
- 如果您想使用最新的 Python 版本,请(重新)安装 Python 2(和 3;只需试用)Homebrew。
- 如有必要,为
/usr/local/bin/python2.7
和相应的pip
创建别名。 (同上 Python 3.) - 安装 pip 的所有包。或者,如果您使用
setup.py
和适当的 Python 可执行文件。
如果您想使用类似的东西,例如 Anaconda Python。
如果您尝试安装某些二进制包(例如,通过安装程序),您一定会把事情搞砸。不要这样做,使用适当的点子。