python项目管理
python项目管理
对于未安装过的依赖包
-
1:通过pip install xxx安装,依赖包被放入一个全局的环境中,所有项目共享
- 存在的问题:多个项目可能存在依赖版本冲突、复杂的依赖关系可能更多的冲突
-
2:
python -m venv .venv在项目目录下产生一个名为.venv目录,是一个虚拟环境。推荐使用.venv,ide会识别这个名字。此时用pip安装,会安装到.venv目录。- 避免了多个项目依赖冲突的问题
- 原理:修改python中的sys.path变量,这个变量里面记录了python在导入模块时,需要搜索的文件夹路径
-
3:怎么方便的的把项目依赖方便准确的分享给其他人?
- 使用
pip freeze > requirements.txt把所有安装好的包以及他们的确切版本号写入txt - 使用
pip install -r requirements.txt读取并安装依赖 - 存在的问题1:
pip freeze分不清什么是我们的项目直接依赖,什么是直接依赖引入的间接依赖。项目复杂之后,情况会变坏 - 存在的问题2:
pip uninstall卸载,然后重新用freeze生成文件时,只会移除直接依赖,间接依赖仍然保留着
- 使用
-
4:使用
pyproject.toml文件:官方指定的统一的配置文件,将requirements.txt的直接依赖,复制到pyproject.toml的dependencies(dependencies里面只需要放直接依赖)- 依赖写好之后,可以在根目录下执行:
pip install -e .其中.表示当前目录,把当前的项目安装到虚拟环境中
- 依赖写好之后,可以在根目录下执行:
-
5:使用
uv进行整体管理-
保证项目下面有一个
pyproject.toml,使用uv add xxx添加依赖source .venv/bin/activate激活环境python main.py运行- 或者
uv run main.py代替上面两个命令行
-
别人的项目,使用
uv sync,自动读取pyproject.toml文件,并自动搭建好环境和下载相关依赖 -
#uv常用命令 #uv支持的python版本 uv python list #下载指定版本 uv python install cpython-3.12 #用3.12运行ai.py和调用python交互界面 uv run -p 3.12 ai.py uv run -p 3.12 python #创建一个uv工程,python3.13版本 uv init -p 3.13 #安装依赖 uv add xxx uv add xxx --dev #避免打包时把依赖打包进去 #移除依赖 uv remove xxx #以工具安装到系统之中,脱离工程独立运行,整个系统都可用,会为每个工具建立自己的虚拟环境 uv tool install xxx # 查看安装的工具 uv tool list #执行程序 uv run main.py #打印依赖树 uv tree
-

浙公网安备 33010602011771号