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

Windows7开发Python pip包上传PyPI后调用时脚本被编辑器打开的解决求助

解决Windows 7下pip包脚本被文本编辑器打开的问题

我明白你在Windows 7上遇到的这个糟心问题——刚把Python包传到PyPI,本地安装后调用脚本居然直接用文本编辑器打开,完全没运行代码。别担心,Windows环境下不需要Linux那套chmod +x,咱们用这几个方法就能搞定:

方法一:用pip的entry_points定义跨平台可执行脚本(推荐)

这是最规范的跨平台解决方案,pip会自动在Windows上生成对应的.exe可执行文件,根本不会出现关联错误。

在你的包的setup.py(或者pyproject.toml,如果你用现代打包工具)里添加entry_points配置:

用setup.py的例子:

from setuptools import setup

setup(
    name="your-package-name",
    version="0.1.0",
    # 其他包信息...
    entry_points={
        "console_scripts": [
            "your-command = your_package.main:run",
        ],
    },
)
  • your-command是你想在命令行直接输入的指令(比如hello-world)
  • your_package.main是你包中包含主逻辑的模块路径
  • run是该模块中要执行的主函数名

重新打包上传PyPI,本地安装后,直接在命令行敲your-command就能运行脚本了,Windows会自动识别这个生成的.exe文件并执行。

方法二:修复Windows的Python文件关联

如果你的.py文件默认被关联到了文本编辑器,修改系统关联就能解决:

  1. 以管理员身份打开命令提示符(CMD)
  2. 执行以下命令(把路径换成你实际的Python安装路径):
assoc .py=Python.File
ftype Python.File="C:\Python39\python.exe" "%1" %*

比如你的Python安装在C:\Python37,就把路径改成C:\Python37\python.exe。执行完后,再直接调用脚本名,Windows就会用Python来执行它了。

方法三:显式用Python命令调用脚本

如果暂时不想修改包的配置,每次调用时可以直接指定用Python执行:

  • 调用包内的模块:
python -m your_package.module_name
  • 直接指定脚本文件路径:
python "C:\Users\YourName\AppData\Local\Programs\Python\PythonXX\Lib\site-packages\your_package\script.py"

这样能强制绕过文件关联,直接让Python运行你的代码。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:28:42