我尝试在这样的Ubuntu VM上安装twisted:
pip install twisted
下载并开始安装,但收到此错误:
Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-SQhfJz/twisted/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ItHrMV-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-SQhfJz/twisted
我不是一个真正的程序员,只是一个业余爱好者,所以这是我的头脑。谷歌搜索它表明它需要python-dev和build-essential。我安装了这两个,但安装twisted仍然得到了与以前相同的错误。
有什么想法吗?
答案 0 :(得分:12)
作为Twisted的维护者,我很抱歉您在安装它时遇到了不好的经历。作为业余爱好者,这不是你的错 - 它应该起作用: - )。
如果在报告安装错误时可以包含更多完整日志,将会很有帮助。据推测,pip
试图做其他一些事情。例如,当我试图重现这个错误时,我看到了类似的东西,但正好在它之上它说
error: could not create '/usr/local/lib/python2.7/dist-packages/twisted': Permission denied
这是真正的错误。那是你的安装尝试所说的吗?如果是这样,那么你有两个选择:
build-essential
和python-dev
。如果你有能力apt-get install
的东西,或许只考虑apt-get install python-twisted
?这将安装旧版本,但由于您的操作系统供应商支持它,它几乎可以保证正常工作。您可以安装到virtualenv。安装到virtualenv会从系统Python环境中隔离包,并减少可能出错的数量。普遍存在的一个问题是pip install twisted
本身会尝试安装到系统的Python包管理器中,这就是我上面粘贴的错误意味着什么。然后你可以这样做:
$ sudo apt-get install python-virtualenv
$ virtualenv my-fun-env
$ source my-fun-env/bin/activate
(my-fun-env)$ pip install twisted
这将仅在虚拟环境中安装Twisted,您可以轻松地将其丢弃并重新创建以试验Twisted的新版本,因此您不必对整个系统进行更改以尝试
不要这样做:一种流行的方式来修复"这个问题是sudo pip install ...
。这可能表面上看起来有效,但它也有可能破坏您的计算机,除非您可以轻松地重新安装操作系统来修复它,否则确实不应该这样做。如果另一个回答者建议这样做,请忽略它们。使用我提出的其他两个修正案之一:)。
答案 1 :(得分:6)
我已经通过安装以下软件包修复了它
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev