在Mac OS X上安装Python Twisted

时间:2015-07-28 15:11:46

标签: python macos twisted

尝试在我的计算机上安装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

2 个答案:

答案 0 :(得分:1)

你的问题中有一些错误的假设,所以这里只是一些有趣的相关事实而不是一个答案。

  • 如果要添加目录以允许Python导入内容,请设置PYTHONPATH,而不是PATH
  • 看起来你正在混合自制的python(安装在/usr/local/中)和系统python(安装在/usr中)。你的例子是使用系统python,但如果在/usr/local/lib/中安装了东西,那么在某些时候你最有可能使用Homebrew。
  • 如果您希望pip将内容放入~/Library,则应执行pip install --user,而不是从系统安装中移动文件。如果您手动重新定位这样的包,很可能会忘记文件,例如.egg-info或清单或某些数据文件;要记住那些东西,而不是你的东西。此外,通过手动移动包,您无法正确取消 - 安装它们。
  • 最后,如果你能提供帮助,你应该只在virtualenv中安装东西。这使得从错误中恢复更容易。如果您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标志),但现在修复它。