python工作环境_CentOS7下python工作环境管理

一、pyenv管理不同的python版本

1.下载安装

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc

echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc

echo 'eval "$(pyenv init -)"' >> ~/.bashrc

exec $SHELL -l

2.测试是否能用

pyenv install --list

3.安装python之前先安装好依赖库

centos

yum -y install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel

ubantu

apt-get install make build-essential libssl-dev zlib1g-dev libbz2-dev libsqlite3-dev

4.安转不同版本的python

pyenv install -v 2.7.14

pyenv install -v 3.6.5

Downloading Python-3.6.5.tar.xz...

-> https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz

Installing Python-3.6.5...

WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?

Installed Python-3.6.5 to /root/.pyenv/versions/3.6.5

WARNING hai que ji ge bao

[root@localhost app]# yum install readline readline-devel readline-static -y

5.查看已安装的python版本

[root@localhost 下载]# pyenv versions

* system (set by /root/.pyenv/version)

2.7.14

3.6.5

6.刷新

[root@localhost 下载]# pyenv rehash

7.切换python版本

[root@localhost 下载]# pyenv global 3.6.5 #设定全局的版本

[root@localhost 下载]# pyenv versions

system

2.7.14

* 3.6.5 (set by /root/.pyenv/version)

[root@localhost 下载]# python

Python 3.6.5 (default, Apr 20 2018, 15:00:52)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux

Type "help", "copyright", "credits" or "license" for more information.

8.设置特定目录的python版本

[root@localhost home]# mkdir py36

[root@localhost home]# cd py36/

[root@localhost py36]# ls

[root@localhost py36]# pyenv local  3.6.5

[root@localhost py36]# pyenv local

3.6.5

全局依旧是2.7

[root@localhost home]# cd /

[root@localhost /]# python -V

Python 2.7.14

[root@localhost /]#

9.删除当前目录下的python版本

方法一

[root@localhost home]# pyenv local --unset

[root@localhost home]# pyenv local

pyenv: no local version configured for this directory

[root@localhost home]# python -V

Python 2.7.14

[root@localhost home]#

方法二

[root@localhost home]# cd py27/

[root@localhost py27]# ls

[root@localhost py27]# pyenv local 2.7.14

[root@localhost py27]# python -V

Python 2.7.14

[root@localhost py27]# ls

[root@localhost py27]# ls -al

总用量 4

drwxr-xr-x. 2 root root 29 4月  20 15:26 .

drwxr-xr-x. 5 root root 98 4月  20 15:19 ..

-rw-r--r--. 1 root root  7 4月  20 15:26 .python-version

[root@localhost py27]# rm -rf .python-version

[root@localhost py27]# ls -a

.  ..

[root@localhost py27]# python local

python: can't open file 'local': [Errno 2] No such file or directory

[root@localhost py27]#

10.python版本切换之后,pip版本也跟着切换

[root@localhost home]# pyenv global 3.6.5

[root@localhost home]# python

Python 3.6.5 (default, Apr 20 2018, 15:00:52)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>>

[root@localhost home]# pip --version

pip 9.0.3 from /root/.pyenv/versions/3.6.5/lib/python3.6/site-packages (python 3.6)

[root@localhost home]# pyenv global 2.7.14

[root@localhost home]# pip --version

pip 9.0.1 from /root/.pyenv/versions/2.7.14/lib/python2.7/site-packages (python 2.7)

[root@localhost home]#

11.如果想删除python版本,使用uninstall命令即可

pyenv uninstall 2.7.14

二、pyenv-virtualenv插件

pyenv virtualenv 是pyenv的插件,为pyenv设置的python版本提供隔离的虚拟环境,设置虚拟环境后,在这个目录下面安装的第三方库及修改库搜索路径都不会影响其他环境,相当于一个沙盒环境,互相不影响。

1.下载安装

[root@localhost ~]# git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

正克隆到 '/root/.pyenv/plugins/pyenv-virtualenv'...

remote: Counting objects: 1979, done.

remote: Compressing objects: 100% (26/26), done.

remote: Total 1979 (delta 21), reused 18 (delta 10), pack-reused 1943

接收对象中: 100% (1979/1979), 561.64 KiB | 116.00 KiB/s, done.

处理 delta 中: 100% (1353/1353), done.

2.重新载入环境

[root@localhost ~]# exec $SHELL

pyenv-virtualenv会为pyenv引入一些新的命令,例如 virtualenv/virtualenv-delete 用于创建/删除虚拟环境,virtualenvs用于列出所有的虚拟环境,activate /deactivate用于激活和禁用虚拟环境

3.创建一个虚拟环境

[root@localhost ~]# mkdir venv36

[root@localhost ~]# cd venv36/

[root@localhost venv36]# pyenv virtualenv 3.6.5 env36 #创建一个 Python版本为 3.6.5 的环境, 叫做env36

Requirement already satisfied: setuptools in /root/.pyenv/versions/3.6.5/envs/env36/lib/python3.6/site-packages

Requirement already satisfied: pip in /root/.pyenv/versions/3.6.5/envs/env36/lib/python3.6/site-packages

4.查看可用版本和工作环境

[root@localhost venv36]# pyenv versions

system

* 2.7.14 (set by /root/.pyenv/version)

3.6.5

3.6.5/envs/env36

env36

[root@localhost venv36]# pyenv virtualenvs

3.6.5/envs/env36 (created from /root/.pyenv/versions/3.6.5)

env36 (created from /root/.pyenv/versions/3.6.5)

5.进入/退出虚拟环境,左边的提示符会显示你当前所在的工作环境

[root@localhost venv36]# pyenv activate env36 #激活并进入env36环境, 此时Python版本自动变为3.6.5,且是独立环境

pyenv-virtualenv: prompt changing will be removed from future release. configure `export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.

(env36) [root@localhost venv36]#

(env36) [root@localhost venv36]# pyenv deactivate #离开已经激活的环境

[root@localhost venv36]#

6.不同的虚拟环境下安装不同版本的软件

(env36) [root@localhost /]# pip install flask

Successfully installed Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 flask-0.12.2 itsdangerous-0.24

(env27) [root@localhost /]# pip install flask==0.11

Installing collected packages: itsdangerous, click, Werkzeug, MarkupSafe, Jinja2, flask

Successfully installed Jinja2-2.10 MarkupSafe-1.0 Werkzeug-0.14.1 click-6.7 flask-0.11 itsdangerous-0.24

7.删除虚拟环境

[root@localhost /]# pyenv virtualenv-delete env27

pyenv-virtualenv: remove /root/.pyenv/versions/2.7.14/envs/env27? y

[root@localhost /]# pyenv virtualenvs

3.6.5/envs/env36 (created from /root/.pyenv/versions/3.6.5)

env36 (created from /root/.pyenv/versions/3.6.5)

[root@localhost /]# pyenv virtualenv-delete env36

pyenv-virtualenv: remove /root/.pyenv/versions/3.6.5/envs/env36? y

[root@localhost /]# pyenv virtualenvs

[root@localhost /]#

你也可以在其他虚拟环境目录下面安装 ipython,切换到其他设定的版本目录中无法使用,说明是相互隔离的。

使用pyenv和pyenv-virtualenv插件,可以实现在不同版本之间的切换,相比管理python版本,不但节省时间,也避免工作过程中的互相干扰。

遇到的问题:在pycharm上安装MySQLdb遇到了一个问题,我的环境是centos7.4,python环境是pyenv里面装的py3.6.5,后来发现python3的mysql模块不叫MySQLdb,而是叫pymysql。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值