Python的使用越来越广泛,用Python做的项目越来越多,在多个项目同时在一台机器上运行时,就会出现对各个项目的依赖进行管理的问题。Java使用Maven库和Maven构建脚本很好的解决了这个问题,Python则使用虚拟环境进行隔离。

Python虚拟环境的实现依靠venv的模块,本质上是创建了一个隔离的解释器以及相关的site-packages。依赖的库通常放在一个叫requirements.txt 文件中。

比如,你创建一个新项目mypy3

  • 创建venv
    • $ cd mypy3
    • $ python3 -m venv .
  • 激活venv
    • $ cd bin
    • $ source activate
  • 退出venv
    • (mypy3)$ cd bin
    • (mypy3)$ deactivate
  • 在新环境安装依赖
    • (mypy3)$ pip3 install -r requirements.txt
  • 导出依赖
    • (venv)$ pip3 freeze > requirements.txt
  • requirements.txt Example:
    • aiohappyeyeballs==2.4.4
    • aiohttp==3.11.11
    • aiosignal==1.3.2
    • anyio==4.7.0
    • attrs==24.3.0
    • certifi==2024.12.14
    • charset-normalizer==3.4.0
    • frozenlist==1.5.0
    • h11==0.14.0
    • httpcore==1.0.7
    • httpx==0.28.1
    • idna==3.10
    • multidict==6.1.0
    • propcache==0.2.1
    • requests==2.32.3
    • sniffio==1.3.1
    • typing_extensions==4.12.2
    • urllib3==2.3.0
    • yarl==1.18.3