【问题标题】:Setuptools with entry_points带有 entry_points 的设置工具
【发布时间】:2012-02-14 22:35:13
【问题描述】:

我想使用 setuptools 安装脚本并进行以下设置:

在我的开发目录中有文件

  • setup.py 和
  • z_script.py.

z_script.py 文件如下所示:

def main():
    print "Running..."

而我的setup.py 看起来像这样:

from setuptools import setup

setup(
      name = 'z_script', version = '0.2', 
      entry_points = {"console_scripts": ["z_script = z_script:main"]},
      )

当我运行python setup.py install 时,脚本会成功安装到正确的bin 目录中。

但是,当我使用 z_script 运行脚本时,会发生错误:

Traceback (most recent call last):
  File "./z_script", line 8, in <module>
    load_entry_point('z-script==0.2', 'console_scripts', 'z_script')()
  File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 318, in load_entry_point
  File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 2221, in load_entry_point
  File "/home/woltan/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 1954, in load
ImportError: No module named z_script

bin 目录可以通过PATH 环境变量从系统中访问,并且当我发出z_scirpt 时没有设置PYTHONPATH 环境变量。

现在我的问题是:

我的设置有什么问题?为什么脚本找不到正确的模块?

【问题讨论】:

  • “但是,当我使用 z_script 运行脚本时”?请包含实际代码。几乎普遍地,您的 PATH 首先具有本地目录,然后安装 bin 目录。您可能应该 CD 到机器上的任何其他目录以查看安装是否有效。请同时包含PATHPYTHONPATH 环境变量。
  • @S.Lott z_script 已成功安装在路径~/local/bin 中,该路径在PATH 环境变量中可用。所以我可以从我机器上的任何地方执行它。而且我已经发布了所有的实际代码......
  • @S.Lott 命令是z_script,我可以从我机器上的任何位置运行它,因为它可以通过PATH 环境变量访问。运行脚本时,我没有设置任何 PYTHONPATH 变量。
  • 更新问题的详细信息。

标签: python installation setuptools


【解决方案1】:

您没有指示 setuptools 安装 z_script。使用find_packages 或在py_modules 关键字中列出z_script

...
packages = find_packages(),
...

...
py_modules = ['z_script'],
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多