尝试在我的计算机上安装Twisted(带有El Capitan beta的Mac OS X),但是当我尝试运行任何代码时,它说它无法找到扭曲的模块。
我认为我的路径中的某些内容是不正确的,但我无法弄清楚它是什么 - 它看起来像是扭曲安装在正确的位置(python / site-packages),但是python在我找不到它时尝试导入它。
➜ ~ git:(master) ✗ python -V
Python 2.7.6
➜ ~ git:(master) ✗ pip -V
pip 7.1.0 from /Users/camherringshaw/Library/Python/2.7/lib/python/site-packages (python 2.7)
➜ ~ git:(master) ✗ pip install twisted
Requirement already satisfied (use --upgrade to upgrade): twisted in /usr/local/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): zope.interface>=3.6.0 in /usr/local/lib/python2.7/site-packages (from twisted)
Requirement already satisfied (use --upgrade to upgrade): setuptools in ./Library/Python/2.7/lib/python/site-packages (from zope.interface>=3.6.0->twisted)
➜ ~ git:(master) ✗ python -c 'import twisted'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named twisted
➜ ~ git:(master) ✗ echo $PATH
/usr/local/lib/python2.7/site-packages /Applications/Postgres.app/Contents/Versions/9.4/bin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin /bin /sbin
答案 0 :(得分:1)
你的问题中有一些错误的假设,所以这里只是一些有趣的相关事实而不是一个答案。
PYTHONPATH
,而不是PATH
。/usr/local/
中)和系统python(安装在/usr
中)。你的例子是使用系统python,但如果在/usr/local/lib/
中安装了东西,那么在某些时候你最有可能使用Homebrew。pip
将内容放入~/Library
,则应执行pip install --user
,而不是从系统安装中移动文件。如果您手动重新定位这样的包,很可能会忘记文件,例如.egg-info
或清单或某些数据文件;要记住那些东西,而不是你的东西。此外,通过手动移动包,您无法正确取消 - 安装它们。sudo pip install
填充或放入/usr/local
,最糟糕的情况是必须重新安装操作系统;如果您使用pip install --user
,最糟糕的情况是您必须删除整个用户帐户。如果您正在使用virtualenv,最糟糕的情况是删除目录并再次尝试。答案 1 :(得分:0)
找出问题,留待此处以防万一其他人看到类似的问题。
pip正在安装到不正确的目录 - 我所有其他Python导入都在〜/ Library / Python / 2.7 / lib / python / site-packages中,这也不在我的路径上。为了修复它,我将扭曲的目录从/usr/local/lib/python2.7/site-packages移动到〜/ Library / Python / 2.7 / lib / python / site-packages,并将正确的目录添加到我的路径中。
Haven没有想出如何更改pip的安装目录(除了每次都使用--target标志),但现在修复它。