我正在尝试使用'PIP'在mac os x上安装'pymorph':
sudo pip install pymorph
我收到以下错误:
NameError: name 'execfile' is not defined
Command "python setup.py egg_info" failed with error code 1 in
/private/tmp/pip-build-9hjd5tfm/pymorph/
我已经读过使用与2.7不同的python版本可能会导致这种问题。然而,我正在使用2.7版本:
python --version
Python 2.7.13
有什么想法可以解决这个问题吗?
提前谢谢
答案 0 :(得分:1)
在PATH上有一个pip
命令,它来自与python
命令不同的Python安装。 (基于Python的工具的每个条目脚本都绑定到用于安装提供它的软件包的Python安装。这意味着pip
命令不搜索PATH以获取python安装。)如果此pip
稍后出现在PATH
而不是python
,则会导致您描述的行为。
如果您首先安装不带pip
的Python 2.7,然后安装带有pip
的Python 3.x,如果安装程序预装到PATH,则会发生这种情况。
您可以通过运行pip
来验证哪个版本的Python pip -V
正在使用以及安装位置。
这个强大的解决方案应该是使用一个虚拟环境,它允许您将基本python安装和特定于您的应用程序的库与项目绑定,并避免使您的全局site-packages
混乱,并防止无意的兼容性不同项目需要来自同一包的不同版本的问题。
目前(截至2017年底)推荐的虚拟环境解决方案似乎是Pipenv。 Pipenv的作者使用Pipenv对虚拟环境进行了一次体面的介绍,可以找到here。