我有一个xcode项目,它在构建过程中运行一些python脚本。他们使用一些python包(beautifulsoup和slimit)。我正在一台新计算机上设置项目,并使用自制软件安装python,然后使用pip来安装这两个软件包。
不幸的是,在构建项目时我收到了错误
Traceback (most recent call last):
File "/Users/supersloth/Code/projectname/tools/mergehtml.py", line 7, in <module>
import slimit
ImportError: No module named slimit
有一段时间这令人困惑,因为我知道slimit就在那里。在我的研究过程中,我意识到我的电脑上有两个版本的python
Io:~ supersloth$ /usr/local/bin/python -V
Python 2.7.9
Io:~ supersloth$ /usr/bin/python -V
Python 2.7.6
Io:~ supersloth$ which python
/usr/local/bin/python
Io:~ supersloth$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Io:~ supersloth$
并且这两个版本安装了不同的软件包
默认python(/ usr / local)
['beautifulsoup4==4.3.2', 'pip==6.0.8', 'ply==3.4', 'setuptools==14.3', 'slimit==0.8.1']
并且第二个安装也没有(没有pip来获取软件包列表,尝试手动导入时没有条件)
>>> import slimit
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named slimit
>>> import pip
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named pip
>>>
这让我相信xcode正在尝试使用python 2.7.6而不使用包作为xcode期间构建的默认值。
如何更改此默认设置,以便验证这一点?
答案 0 :(得分:0)
一种方法是强迫它。
#! path_to_desired_version
作为每个python文件的第一行。
另外,如果你再次遇到这样的事情,
which -a python
将显示您拥有的替代品。如果没有&#39; -a&#39;,您将看到哪条路径位于您的路径中。