Unix
Unix系统下pyenv安装与使用
安装pyenv
1 | git clone https://github.com/yyuu/pyenv.git ~/.pyenv #使用 git 把 pyenv 下载到家目录 |
查看pyenv可安装的版本列表
1 | pyenv install --list |
安装指定的python版本
以安装python 3.4.1为例
1 | pyenv install 3.4.1 |
卸载指定的python版本
1 | pyenv uninstall x.x.x |
eg:卸载3.7.1
1 | pyenv uninstall 3.7.1 |
python版本查看
查看当前已经安装了的python版本:
1 | pyenv versions |
输出结果如下:
1 | $ pyenv versions |
system是指系统中的python版本*
表示当前环境所处的python版本
python版本切换
全局版本切换
1 | pyenv global anaconda-2.4.0 |
查看现在的python版本:pyenv versions
1 | $ pyenv versions |
局部环境的切换
在test文件夹下希望切换到python3.4.1:
1 | pyenv local python3.4.1 |
使用pipenv管理pip
安装:pip install pipenv
pipenv常用命令:
pipenv --python 3.6
创建虚拟环境,pipenv 会自动扫描系统寻找合适的版本信息,如果找不到的话,同时又安装了 pyenv 的话,则会自动调用 pyenv 下载对应版本的 python, 否则会报错。pipenv shell
进入虚拟环境pipenv install urllib3
安装虚拟环境或者第三方库,也可以指定版本pipenv install urllib3==1.22pipenv uninstall urllib
3 卸载一个库,全部卸载使用pipenv uninstall –allpipenv update urllib3
更新指定包,不带参数pipenv update会卸载当前所有的包,并安装它们的最新版本pipenv --where
查看项目根目录pipenv --venv
查看虚拟环境目录pipenv run
在虚拟环境中运行命令pipenv check
检查安全漏洞pipenv graph
显示当前依赖关系图信息pipenv lock
锁定并生成Pipfile.lock文件pipenv open
在编辑器中查看一个库
python virtualenv创建纯净虚拟环境
虽然直接安装pip安装virtualenv也行,但是通过pyenv插件的形式安装virtualenv的虚拟环境更加方便,因为之后的操作会比较方便。
安装插件pyenv-virtualenv
pyenv virtualenv是pyenv的插件,为UNIX系统上的Python virtualenvs提供pyenv virtualenv命令。
1 | git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv |
这个插件将安装在主文件夹下的.pyenv文件夹中。
创建一个新的虚拟环境
1 | pyenv virtualenv 2.7.1 env271 |
再需要创建虚拟环境的文件夹下创建虚拟环境。
这条命令在本机上创建了一个名为env271的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/
1 | 注意,命令中的 ‘2.7.1’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。 |
然后可以继续通过 pyenv versions
命令来查看当前的虚拟环境。
切换和使用新的python虚拟环境
创建新的虚拟环境
1 | pyenv activate env271 |
这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
下面基本上你就可以在这个虚拟环境里面为所欲为了 :) 再也不用担心系统路径被搞乱的问题了
如果要切换回系统环境, 运行这个命令即可
1 | pyenv deactivate |
删除虚拟环境
以删除上面新创建的env271环境为例:
一些指令
创建虚拟环境
1
2
3
4
5
6$ mkvirtualenv ENV
$ ls -al $HOME/.virtualenvs #查看创建好的虚拟环境
total 12
drwxr-xr-x 3 root 4096 Apr 27 18:25 .
dr-xr-x---. 17 root 4096 Apr 27 18:25 ..
drwxr-xr-x 5 root 4096 Apr 27 18:25 ENV创建指定的python版本的虚拟环境
1
$ mkvirtualenv env --python=python2.7
激活虚拟环境:
workon ENV
1
2$ workon ENV
(ENV) $退出虚拟环境 (同virtualenv一样)
deactivate
导航到当前激活的虚拟环境的目录中
1
2
3
4
5$ pwd
/home/python
$ cdvirtualenv
$ pwd
/home/python/.virtualenvs/ENV列出所有虚拟环境
workon
和lsvirtualenv
都可以列举出已创建的所有虚拟环境1
2
3
4
5
6
7
8
9
10
11$ workon
ENV2.7
ENV
$ lsvirtualenv
ENV2.7
======
/usr/bin/python: No module named virtualenvwrapper
ENV
===
/usr/bin/python: No module named virtualenvwrapper删除虚拟环境:
rmrmvirtualenv
1
2
3
4
5
6$ workon
ENV2.7
ENV
$ rmvirtualenv ENV2.7
$ workon
ENV