python环境管理的几种方式
0.当前的系统情况及Python环境安装
![](https://img2020.cnblogs.com/blog/1610179/202102/1610179-20210209170111959-1652185111.png)
Step1.下载minicnda
1 wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
Step2.安装miniconda
1 sh Miniconda3-latest-Linux-x86_64.sh -h
# 安装
1 sh Miniconda3-latest-Linux-x86_64.sh -p $HOME/apps/miniconda3_py38
# 创建超链接,方便后面升级
1 cd $HOME/apps 2 ln -s miniconda3_py38 miniconda3
# 修改环境变量
1 cd ~ 2 vim .bashrc
进行全局替换::%s/miniconda3_py38/miniconda3/g
1 source .bashrc
Step3.配置pip源和conda源
(1) pip源
[global]index-url = https://mirrors.aliyun.com/pypi/simple/[install]trusted-host=mirrors.aliyun.com
(2) conda源
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
1.virtualenv
Step1.安装virtualenv
1 pip install virtualenv
Setp2.创建虚拟环境
1 virtualenv py38_test_venv --always-copy
(1)参数可以使用 virtualenv -h 查看
(2)Virtualenv创建的虚拟环境,就在执行命令时,所在的目录下
Step3.激活虚拟环境
1 source /path/to/py38_test_venv/bin/activate
问题:
(1)需要知道虚拟环境的位置,才能激活
(2)由于虚拟环境的位置不确定,不好管理.最好是放到一起
Step4.退出虚拟环境
1 deactivate
Step5.删除虚拟环境
1 rm -rf /path/to/py38_test_venv
2.virtualenv + virtualenvwrapper
Step1.安装Python
Step2.安装virtualenv + virtualenvwrapper
1 pip install virtualenv 2 pip install virtualenvwrapper #(windows下是:pip install virtualenvwrapper-win)
Step3.配置环境变量
1 export WORKON_HOME=$HOME/.virtualenvs 2 source /path/to/virtualenvwrapper.sh
windows:
WORKON_HOME=/path/to/pyvirtualenvs/
Step4.指定版本建立虚拟环境
1 mkvirtualenv --python=/path/to/python3 py3_test_venvwrapper --always-copy
Step5.查看系统中的虚拟环境(使用mkvirtualenv 创建)
1 workon
Step6.激活虚拟环境
1 workon py3_test_venvwrapper
Step7.退出虚拟环境
1 deactivate
Step8.删除虚拟环境
1 rmvirtualenv py3_test_venvwrapper
3.Conda
Step1.查看系统中的虚拟环境
1 conda env list
Step2.创建虚拟环境
1 conda create -n py37_test_conda --copy python=3.7
# 使用本地版本
1 conda create -n py38_test_conda --copy python=3.8 --offline
注意:
- 可以使用 conda create -h 查看帮助
- 默认创建在:/path/to/miniconda3/envs
- 可以使用-p参数,指定创建路径。一般默认就好
- Conda创建的虚拟环境,可以是本地不存在的版本,他会从网上下载一个对应的Python版本(小版本会是最新的)
Step3.激活虚拟环境
1 conda activate py37_test_conda
注意:
(1)这里不需要知道虚拟环境的位置了。
Step4.退出虚拟环境
1 conda deactivate
Step5.删除虚拟环境
1 conda env remove -n py37_test_conda
4.Pipenv
Step1.安装pipenv
1 pip install pipenv
Step2.搭建虚拟环境
1 mkdir test_proj
1 pipenv --python 3.8
Step3.安装依赖包
(1)更改pip 源,修改Pipfile文件中[[source]] 下url : https://mirrors.aliyun.com/pypi/simple
Step4.进入虚拟环境,及退出
(1)进入虚拟环境: pipenv shell
(2)退出虚拟环境:exit
Step5.删除虚拟环境
Step6.使用piepenv运行命令
(1)生成requirements.txt(因为有Pipfile,这个不是必须的。但建议还是要生成)
1 pipenv run pip freeze > requirements.txt
1 pipenv run python hello.py
Step7.其他相关命令
(1)查看包依赖:
1 pipenv graph
1 pipenv --venv
1 pipenv --py
1 pipenv lock
1 pipenv check
1 pipenv install --system --deploy --ignore-pipfile
注意:
(1)--system 表示使用系统的Python环境,
(2)--deploy表示如果lock file is out-of-date,则放弃安装。
(3)--ignore-pipefile表示不使用Pipfile 而是使用Pipfile.lock安装。
5.Pyenv
Step1.安装pyenv
1 yum install readline readline-devel readline-static -y 2 yum install openssl openssl-devel openssl-static -y 3 yum install sqlite-devel -y 4 yum install bzip2-devel bzip2-libs -y 5 yum install gcc-c++ -y
(2)从github下载最新的pyenv
1 git clone https://github.com/pyenv/pyenv.git $HOME/apps/pyenv
Step2.配置环境变量
export PYENV_ROOT=$HOME/apps/pyenvexport PATH="$PYENV_ROOT/bin:$PATH"
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
Step3.pyenv管理Python版本
# 查看已经安装的版本
1 pyenv versions
(1)星号所指,是当前使用的Python
# 查看可以安装的Python 版本:
1 pyenv install --list # 或者pyenv install -l
(基本上各个发行版本都有,anaconda等等也都有)
# 安装其他版本的Python
1 pyenv install 3.9.1
注意:
# 卸载Python
1 pyenv uninstall 3.9.1
# 切换当前Python 环境
(2)设置局部的Python版本,
(4)清除配置
1 pyenv global --unset 2 pyenv local --unset 3 pyenv shell --unset
Step4.pyenv安装插件
1 git clone https://github.com/s1341/pyenv-alias.git $(pyenv root)/plugins/pyenv-alias
1 VERSION_ALIAS="py27" Python_CONFIGURE_OPTS="--enable-shared" pyenv install 2.7.18
注意:
1 git clone git://github.com/yyuu/pyenv-pip-migrate.git $(pyenv root)/plugins/pyenv-pip-migrate
1 pyenv migrate <源Python版本名> <目标Python版本名>
1 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
Step5.创建虚拟环境
1 pyenv virtualenv 3.9.1 py39
Step6.激活及退出虚拟环境
Step7.删除虚拟环境(直接用pyenv的命令)
1 pyenv virtualenv-delete <虚拟环境名称>
1 pyenv uninstall <虚拟环境名称>