【问题标题】:How can I use jython setup.py install?如何使用 jython setup.py 安装?
【发布时间】:2012-07-28 14:43:22
【问题描述】:

我正在使用 Jython virtualenv,我可以通过 pip 或 easy_install 安装任何软件,但是有一个尚未注册的软件和安装模式通过:

[sudo] python setup.py install 

我正在尝试对 jython 做同样的事情:

[sudo] jython setup.py install

所以,我收到以下错误:

Traceback (most recent call last):
File "setup.py", line 3, in <module>
from setuptools import setup, find_packages
ImportError: No module named setuptools

我再次检查并安装了 jython ez_setup.py。 我下载了蛋黄也没解决。

我的文件夹:

╭─hudson@hudson-pc ~/jython2.7a1/Lib/site-packages ‹› ‹master*›
╰─$ ls 
easy-install.pth         setuptools.pth yolk 0.4.3-py2.7.egg README should_dsl-2.0a5-py2.7.egg setuptools-0.6c11-py2.7.egg virtualenv-1.7.2-py2.7.egg 

在正常(真实)环境中,没有 virtualenvs,我得到了同样的错误。

在 Python 中,我已经安装了这个软件并且运行良好。

如果我进入 Jython Shell 并尝试 import setuptools,我也会遇到同样的错误:

>>> import setuptools
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named setuptools
>>> import sys
>>> sys.path
['', '/home/hudson/jython2.7a1/Lib', '/home/hudson/__classpath__',   '/home/hudson/__pyclasspath__']

然后,我将站点包添加到系统中(这可能是一个愚蠢的尝试):

>>> sys.path.append('/home/hudson/jython2.7a1/Lib/site-packages')    
>>> sys.path
['', '/home/hudson/jython2.7a1/Lib', '/home/hudson/__classpath__', '/home/hudson/__pyclasspath__', '/home/hudson/jython2.7a1/Lib/site-packages']  
>>> import setuptools
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named setuptools

为什么不识别?

【问题讨论】:

    标签: installation jython setuptools setup.py


    【解决方案1】:

    基本上你需要先安装 installtool。为此,请参阅下面链接的文档。

    安装这个:http://peak.telecommunity.com/dist/ez_setup.py

    (参见此处:http://www.jython.org/jythonbook/en/1.0/appendixA.html#setuptools)

    【讨论】:

    • 正如您在我的第一行解释中看到的那样,我已经通过 easy_install 或通过 pip 进行了安装,但我需要安装尚未注册的软件。
    • 确保你做了jython ez_setup.py。你的&lt;jython&gt;/Lib/SitePackages 目录中有什么?我这里没有 jython,但如果我有机会我会告诉你安装应该很容易,因为错误消息清楚地指出 setuptools 丢失
    • 也许您可以使用yolk 包获取包列表(请参阅包索引)
    • 您可以尝试在控制台上导入 setuptools 并检查 setuptools 是否在 sys.path 中。在我的基本安装中,setuptools 在&lt;jython&gt;/Lib/SitePackages 下以setuptoolsXXX.egg 的形式存在,我不太确定 virtualenv 是否应该在创建时复制它或者只是从基础运行它。您可以尝试的另一件事是使用 --user 标志从您的真实环境安装软件包,看看是否有效
    • 首先感谢您的关注。我再次检查并安装了 jython ez_setup.py。我下载了蛋黄也没有解决。在我的文件夹 jython/lib/SitePackages╭─hudson@hudson-pc ~/jython2.7a1/Lib/site-packages ‹› ‹master*› ╰─$ ls easy-install .pth setuptools.pth yolk 0.4.3-py2.7.egg 自述文件 should_dsl-2.0a5-py2.7.egg setuptools-0.6c11-py2.7.egg virtualenv-1.7.2-py2.7.egg 在正常(真实)环境中,我得到了同样的错误。在 Python 中,我已经安装了这个软件并且可以使用。
    【解决方案2】:

    如果pip“有效”,那么您可以使用它来安装您的软件。要尝试它,请从带有 setup.py 的目录运行:

    $ pip install -e .
    

    如果你有一个压缩包:

    $ pip install your_package-0.0.1.tar.gz
    

    pip 可以从 git 存储库安装,使用自定义 url 从哪里获取包等。

    我已经对其进行了测试:jython 可与virtualenvdistributesetuptools 的一个分支)、pip 一起使用。所以jython可以安装一个包,如果它在setup.py中使用setuptools

    【讨论】:

    • 我运行了 pip install -e 。并且运作良好。我不知道这个参数。非常感谢!
    • pip install -e 运行 python setup.py develop 而不是 python setup.py install 所以它不等同于后者。
    • jython 如何与分发或设置工具一起工作?
    • @Thufir 我不明白你的问题。 “如何”是什么意思?注意:自 2012 年以来已经发布了 many-many 版本——我不知道最新的 pip/setuptools/virtualenv 版本是否与 jython 兼容。
    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-12
    • 2014-01-23
    相关资源
    最近更新 更多