控制台脚本入口点被忽略?

2024-10-01 09:41:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Windows上使用setuptools(版本0.6c11),并指定通过console_scripts入口点安装的控制台脚本。它在Linux上运行良好,但是在Windows下,使用MinGW编译器,没有安装脚本。我在安装输出中没有看到任何reated消息。在

其他软件包,如ipython,运行setup.py install后运行良好,并有可用的.exe文件。在

有人能建议一种调试方法吗?在

import setuptools
setup(
   # ...
   entry_points={
      'console_scripts':[
          'myprog = myMod:main'
      ]
   }
)

更新:

基于Vinay提出的例子(谢谢!),我能够隔离问题:如果模块安装在嵌套子目录中,则不会创建脚本:

^{pr2}$

我是不是误解了package_dir是为了什么?在


Tags: py版本脚本消息编译器linuxwindowsipython
1条回答
网友
1楼 · 发布于 2024-10-01 09:41:51

好吧,这对我很有用:

# This file is setup.py
import setuptools

SOURCE = '''
def main():
    print('Hello, world!')
'''

def prepare():
    with open('my_mod.py', 'w') as f:
        f.write(SOURCE)

prepare()

setuptools.setup(
    name = 'woo',
    version = '0.1',
    url = 'http://dummy.com/',
    author = 'Me',
    author_email = 'me@dummy.com',
    py_modules=['my_mod'],
    entry_points={
        'console_scripts':['myprog = my_mod:main']
   }
)

当我在虚拟机上运行时:

^{pr2}$

更新:

您的问题是没有使用正确的路径分隔符:使用

subdir='subdir\\subdir'

为我工作。当然,您应该使用os.path.join()。在

相关问题 更多 >