我想安装一个带有setuptools的脚本,并进行以下设置:
在我的开发目录中有文件
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
环境变量访问系统,并且在我发出PYTHONPATH
时没有设置z_scirpt
环境变量。
现在问我的问题:
我的设置有什么问题?为什么脚本找不到正确的模块?
答案 0 :(得分:5)
您没有指示setuptools安装z_script
。在z_script
关键字中使用find_packages
或列出py_modules
。
...
packages = find_packages(),
...
或
...
py_modules = ['z_script'],
...