安装Twisted for Python时出错

Sea*_*ver 15 python twisted failed-installation

我尝试在Ubuntu VM上安装twis​​ted如下:

pip安装扭曲

它下载并开始安装,但出现此错误:

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
Run Code Online (Sandbox Code Playgroud)

我不是一个真正的程序员,只是一个业余爱好者,所以这是我的头脑.谷歌搜索它表明它需要python-dev和build-essential.我安装了这两个,但安装twis​​ted仍然得到了与以前相同的错误.

有什么想法吗?

Gly*_*yph 13

作为Twisted的维护者,我很抱歉你在安装它时遇到了不好的经历.作为业余爱好者不是你的错 - 它应该起作用:-).

如果您在报告安装错误时可以包含更完整的日志,将会很有帮助.据推测,还有其他一些pip尝试做的事情.例如,当我试图重现这个错误时,我看到了类似的东西,但正好在它之上

error: could not create '/usr/local/lib/python2.7/dist-packages/twisted': Permission denied
Run Code Online (Sandbox Code Playgroud)

这是真正的错误.那是你的安装尝试所说的吗?如果是这样,那么你有两个选择:

  1. 你安装build-essentialpython-dev.如果你有能力apt-get install填充,也许只考虑apt-get install python-twisted?这将安装旧版本,但由于它受操作系统供应商支持,因此几乎可以保证可以正常工作.
  2. 你可以安装到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
    
    Run Code Online (Sandbox Code Playgroud)

    这将仅在虚拟环境中安装Twisted,您可以轻松地将其丢弃并重新创建以试验Twisted的新版本,因此您无需对整个系统进行更改即可尝试.

  3. 要这样做:一种流行的"修复"这个问题的方法就是这样做sudo pip install ....这可能表面看起来有效,但它也有破坏您的计算机的风险,除非您可以轻松地重新安装操作系统来修复它,否则您真的不应该这样做.如果另一个回答者建议这样做,请忽略它们.使用我提出的其他两个修复程序之一:).

  • 如果你在Ubuntu上使用Python3,请确保`sudo apt-get install python3-dev`. (8认同)

anj*_*505 7

我通过安装以下软件包修复了它

sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
Run Code Online (Sandbox Code Playgroud)