我在 Windows 上使用 setuptools(版本 0.6c11),并指定要通过console_scripts
入口点安装的控制台脚本。它在 Linux 上运行良好,但在 Windows 下,使用 MinGW 编译器,没有安装脚本。我在安装输出中没有看到任何相关消息。
其他软件包,如 ipython,运行良好,运行 .exe 文件后运行 .exe 文件 setup.py install
。
有人可以建议一种调试方法吗?
import setuptools
setup(
# ...
entry_points={
'console_scripts':[
'myprog = myMod:main'
]
}
)
更新:
根据 Vinay 提出的示例(谢谢!),我能够隔离问题:如果模块安装在嵌套子目录中,则不会创建脚本:
import setuptools, os.path, shutil
SOURCE = '''
def main():
print('Hello, world!')
'''
### ERROR: when level of subdir is > 1, script is not created
subdir='subdir/subdir2'
### OK: with single-level subdirectory, everything works just fine
# subdir='subdir'
def prepare():
# remove previous source
if os.path.exists('subdir'): shutil.rmtree('subdir')
# create subdirs as necessary
os.makedirs(subdir)
with open(subdir+'/my_mod.py', 'w') as f: f.write(SOURCE)
prepare()
setuptools.setup(
name = 'myprog',
version = '0.1',
url = 'http://dummy.com/',
author = 'Me',
author_email = 'me@dummy.com',
py_modules=['my_mod'],
package_dir={'':subdir},
entry_points={
'console_scripts':['myprog = my_mod:main']
},
zip_safe=False
)
我误解了什么是package_dir
为了?