我有兩個Python腳本,可以從shell使用,因爲它們是感謝argparse。如何用setuptools安裝python cli腳本而不重複?
setup.py的相關部分:
setup(
# (...)
zip_safe=True,
scripts=['bin/bgce.py', 'bin/sizes.py'],
packages=find_packages(),
data_files=data_files,
entry_points = {
'console_scripts': [
'bgce = bgce:main',
'sizes = sizes:main',]
}
)
我結束了bgce,bgce.py,大小,sizes.py在/ usr/local/bin目錄。所有4個工作。
如果我離開了無論是包或腳本行,有沒有重複,但這些文件不能是這樣的:
Traceback (most recent call last):
File "/usr/local/bin/bgce", line 9, in <module>
load_entry_point('Backtestground==1.0', 'console_scripts', 'bgce')()
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 305, in load_entry_point return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2244, in load_entry_point return ep.load()
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 1954, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: No module named bgce
我能做些什麼來只有bgce和大小安裝,沒有重複用討厭(爲製表符完成).py附加?
find_packages()返回'bin',這兩個腳本都是dir。刪除腳本參數只會導致2個文件,但都會導致ImportError失敗。 – thorwil 2010-12-05 17:46:31