如何配置Python项目以mycode命令直接调用替代python -m mycode?
如何在Arch Linux的Python 3.7环境中通过
mycode命令直接调用你的脚本 嘿,我来帮你搞定这个问题!在Arch Linux全新安装的Python 3.7环境下,要实现直接用mycode命令调用你的脚本,其实只要按下面几个步骤操作就行:
1. 确认项目结构正确
首先你的项目得有标准的Python包结构,大概是这样:
mycode-project/ ├── mycode/ │ ├── __init__.py # 可以是空文件,标记这是一个Python包 │ └── __main__.py # 你的主代码文件,包含main函数 └── setup.py # 打包配置文件
2. 完善setup.py配置
你已经写了entry_points,但最好确保setup.py包含其他必要的字段,比如包名、版本号等,一个完整的示例如下:
from setuptools import setup, find_packages setup( name="mycode", version="0.1.0", packages=find_packages(), # 自动发现mycode包 entry_points={ 'gui_scripts': [ 'mycode = mycode.__main__:main', ], }, )
小提示:如果你的脚本是命令行工具而非GUI应用,可以把
gui_scripts换成console_scripts,两者的区别在于gui_scripts不会打开终端窗口(适合GUI程序),console_scripts会关联终端。
3. 安装你的Python包
接下来进入项目根目录,用pip安装你的包。这里分两种场景:
- 开发模式安装(适合调试,修改代码后无需重新安装即可生效):
cd /path/to/mycode-project pip install -e . - 正式安装(适合发布后的使用):
pip install .
如果不想影响系统全局的Python环境,推荐用用户级安装(不会需要sudo权限):
pip install --user .
4. 确保脚本路径在系统PATH中
Arch Linux下,用户级安装的脚本会被放到~/.local/bin/目录,系统级安装则在/usr/bin/。默认情况下~/.local/bin已经包含在用户的PATH里,但如果你的PATH里没有这个路径,可以手动添加:
- 打开你的shell配置文件(比如
~/.bashrc或~/.zshrc) - 添加一行:
export PATH="$HOME/.local/bin:$PATH" - 让配置生效:
source ~/.bashrc # 如果用bash # 或者 source ~/.zshrc # 如果用zsh
5. 测试mycode命令
安装完成后,直接在终端输入:
mycode
如果一切顺利,就会执行你__main__.py里的main函数啦!
补充说明:你在
__main__.py开头加的shebang#!/usr/bin/env python其实在通过entry_points生成的启动脚本里不会被直接使用,因为setuptools会自动生成适配系统的启动脚本,不过保留它也完全没问题,不影响功能。
内容的提问来源于stack exchange,提问作者Astrom
相关产品推荐
相关产品推荐

