前言
在 Python 开发中,不同项目常需不同 Python 版本和依赖库。本文将详解 Windows/Linux 双平台下的环境隔离方案,彻底解决版本冲突问题!
核心工具选择
功能 |
Windows 方案 |
Linux 方案 |
跨平台方案 |
版本管理 |
pyenv-win |
pyenv |
conda |
虚拟环境 |
venv |
virtualenv |
pipenv |
图形界面 |
Anaconda Navigator |
Anaconda Navigator |
PyCharm |
Windows 方案
pyenv-win + venv
1 2 3 4 5 6 7 8 9
| iwr -useb https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1 | iex
[System.Environment]::SetEnvironmentVariable('PYENV', "$env:USERPROFILE\.pyenv\pyenv-win\", "User") [System.Environment]::SetEnvironmentVariable('PATH', "$env:USERPROFILE\.pyenv\pyenv-win\bin;$env:USERPROFILE\.pyenv\pyenv-win\shims;$env:PATH", "User")
pyenv --version
|
环境创建
1 2 3 4 5 6 7 8 9 10 11 12
| pyenv install 3.8.10
python -m venv C:\path\to\myenv
C:\path\to\myenv\Scripts\activate
(myenv) python --version
|
环境卸载
1 2 3 4 5 6 7 8 9
| deactivate
Remove-Item -Recurse -Force C:\path\to\myenv
pyenv uninstall 3.8.10
|
Linux 方案
pyenv + virtualenv
1 2 3 4 5 6 7 8 9 10 11
| sudo apt install -y make build-essential libssl-dev zlib1g-dev
curl https://pyenv.run | bash
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init --path)"' >> ~/.bashrc echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc source ~/.bashrc
|
环境创建
1 2 3 4 5 6 7 8 9 10 11
| pyenv install 3.8.10
pyenv virtualenv 3.8.10 myenv
pyenv activate myenv
(myenv) which python
|
环境卸载
1 2 3 4 5 6 7 8 9 10 11
| pyenv deactivate
pyenv uninstall myenv
pyenv uninstall 3.8.10
rm -rf ~/.pyenv/versions/3.8.10
|
跨平台最佳选择
统一使用 conda
1 2 3 4 5
| conda create -n project_env python=3.9 conda activate project_env conda deactivate conda remove -n py313 --all
|
使用 .python-version 文件
1 2 3 4
| echo "3.8.12" > .python-version
|
环境迁移方案
1 2 3 4 5
| pip freeze > requirements.txt
pip install -r requirements.txt
|