如何在激活虚拟环境后用自定义命令app直接运行Python项目
解决方案
步骤1:调整app包入口逻辑
修改my_proyect/app/__init__.py文件,将执行逻辑封装为main函数,避免导入时自动执行逻辑,同时保留原python3 -m app的运行效果:
def main(): from . import cat from app import cow if __name__ == "__main__": main()
步骤2:新增打包配置文件
在项目根目录my_proyect/(和app、venv文件夹同级)下新建pyproject.toml配置文件,内容如下:
[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "my-app" version = "0.1.0" packages = ["app"] [project.scripts] # 等号左侧的app就是你要使用的终端命令名,可自定义 app = "app.__init__:main"
步骤3:虚拟环境内安装包
首先确保你的虚拟环境处于激活状态,终端进入my_proyect/根目录,执行可编辑安装命令:
pip install -e .
该安装仅作用于当前激活的虚拟环境,不会对全局或其他虚拟环境产生影响。后续修改app目录下的代码无需重新安装,直接生效。
验证
安装完成后,保持虚拟环境激活状态,任意路径下输入app命令即可运行项目,输出效果和原python3 -m app完全一致。
如果需要移除该命令,只需在激活当前虚拟环境的状态下执行pip uninstall my-app即可。
内容的提问来源于stack exchange,提问作者gorandp
相关产品推荐
相关产品推荐

