You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python包的命令行脚本是否仅支持Linux?Windows如何正常运行?

Python包的命令行脚本不是Linux独有的特性,Windows下完全可以正常运行,你遇到的问题是文件命名和配置方式不符合Windows系统的可执行文件识别规则导致的。

问题原因

Windows系统依靠后缀名判断文件的打开程序,你存放在bin目录下的funniest-joke脚本没有.py后缀,系统无法识别它是需要用Python解释器执行的脚本,因此会弹出打开方式选择窗口。

解决方案

这里提供两种常用的解决方法,更推荐使用第二种跨平台兼容性更好的方案:

方案1:修改scripts写法适配Windows

  1. 将bin/funniest-joke文件重命名为bin/funniest-joke.py
  2. 修改setup.py中的scripts参数配置为:
scripts=['bin/funniest-joke.py']
  1. 重新执行pip install -e .即可,之后直接在命令行输入funniest-joke就能正常运行。

方案2:使用entry_points配置(推荐)

这是目前Python打包官方更推荐的跨平台命令行脚本配置方式,无需手动处理文件后缀,setuptools会自动为Windows生成可执行exe文件,Linux/macOS也能正常适配:

  1. 删掉setup.py中的scripts参数,新增entry_points配置,修改后的setup.py内容如下:
import setuptools

setuptools.setup(
  name='test',
  packages=setuptools.find_packages(),
  entry_points = {
    'console_scripts': [
        'funniest-joke = funniest:run_joke',
    ]
  }
)
  1. 在funniest/__init__.py中添加对应的执行函数:
from .funniest import joke

def run_joke():
    print(joke)
  1. 重新执行pip install -e .,之后直接在命令行输入funniest-joke即可正常运行,不会再弹出打开方式窗口。

内容的提问来源于stack exchange,提问作者user32882

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 15:15:05