【问题标题】:Running Twisted Tutorial and twistd运行 Twisted 教程和 twistd
【发布时间】:2012-12-31 06:42:27
【问题描述】:

我是 python 新手,我正在浏览扭曲的教程。使用 twistd 我得到以下错误:

sudo twistd -y /home/michael/Desktop/twisted_example.tac --syslog
[sudo] password for michael: 
Traceback (most recent call last):
  File "/usr/local/bin/twistd", line 4, in <module>
    import pkg_resources
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2707, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: Twisted==12.0.0

我按照其他帖子的建议解决了一些软件包依赖项和 libxslt1-dev 的安装,但这并没有解决问题。

我真诚地希望这不是一个笨拙愚蠢的问题,但我对 python 系统不太了解,如果有任何建议,我将不胜感激

MM

【问题讨论】:

    标签: twisted


    【解决方案1】:

    你有/usr/local/bin/twistd/usr/lib/python2.7/

    这表明您的系统上有一个未打包的 Twisted 安装。这可能与 Twisted 的打包安装冲突。

    您通常应避免在 Linux 系统上安装未打包的软件。如果您确实安装了未打包的软件,则不应将其安装在像/usr/local 这样的系统位置(尽管传统上这是安装此类软件的位置)。相反,请将其安装在您的主目录中 - 并且不要以 root 身份安装它。

    您的 Linux 供应商打包软件是有原因的 - 很难用由一千个不同的人制作的软件构建一个系统并让它真正工作。打包过程让上游人员有机会测试不同的配置,然后将工作配置冻结成可以在您的计算机上完全复制的形式。

    至于你的系统出了什么问题的细节,我猜你已经安装了 setuptools(或分发)并且你从一个 tarball 安装了 Twisted 12.0.0,作为 root,使用 setup.py。这在 /usr/local/bin 中安装了一个受 setuptools 感染的 twistd 版本。这个版本的twistd 完全需要 Twisted 12.0.0(这不是 twistd 本身的功能,setuptools 介绍了它)但它会在 /usr/lib/python2.7/dist 中找到您拥有的任何版本的 Twisted -packages,然后失败。

    细节实际上可能有点不同,因为您问题中的回溯实际上并没有包含足够的信息来真正了解您的系统是如何设置的。

    解决方案是删除所有安装在 /usr/local 中的 Twisted 相关文件,并改用系统提供的 Twisted 包。如果该版本不够新,那么您可能需要升级您的 Linux 发行版或查找第三方提供的更新的 Twisted 打包版本(例如,https://launchpad.net/~twisted-dev/+archive/ppa 用于 Ubuntu)。

    【讨论】:

    • 感谢 Jean-Paul,我从 /usr/local 中删除了扭曲的文件,并从突触重新安装了扭曲的文件。去年暑假我开始了这个项目,但进展不大,所以从那时起文件就一直闲置着。感谢您对包管理的建议,尽管作为一名数学家,我经常被简化为相当密切地遵循howtos。感谢您花时间回答问题以及您给我的明智建议。 - 迈克尔
    • 更好的是,在 virtualenv 下运行你的 python 东西,以防止它们相互踩踏。 iamzed.com/2009/05/07/a-primer-on-virtualenv
    【解决方案2】:

    你必须安装 python-pkg-resources 包

    【讨论】:

    • 感谢 Fourat,我检查并安装了这些,但幸运的是第二个帖子让我走上了正确的道路 - michael
    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    相关资源
    最近更新 更多