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.安轉(zhuǎn)不同版本的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 #設(shè)定全局的版本
[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.設(shè)置特定目錄的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設(shè)置的python版本提供隔離的虛擬環(huán)境,設(shè)置虛擬環(huán)境后,在這個目錄下面安裝的第三方庫及修改庫搜索路徑都不會影響其他環(huán)境,相當于一個沙盒環(huán)境,互相不影響。
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.重新載入環(huán)境
[root@localhost ~]# exec $SHELL
pyenv-virtualenv會為pyenv引入一些新的命令,例如 virtualenv/virtualenv-delete 用于創(chuàng)建/刪除虛擬環(huán)境,virtualenvs用于列出所有的虛擬環(huán)境,activate /deactivate用于激活和禁用虛擬環(huán)境
3.創(chuàng)建一個虛擬環(huán)境
[root@localhost ~]# mkdir venv36
[root@localhost ~]# cd venv36/
[root@localhost venv36]# pyenv virtualenv 3.6.5 env36 #創(chuàng)建一個 Python版本為 3.6.5 的環(huán)境, 叫做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.查看可用版本和工作環(huán)境
[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.進入/退出虛擬環(huán)境,左邊的提示符會顯示你當前所在的工作環(huán)境
[root@localhost venv36]# pyenv activate env36 #激活并進入env36環(huán)境, 此時Python版本自動變?yōu)?.6.5,且是獨立環(huán)境
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 #離開已經(jīng)激活的環(huán)境
[root@localhost venv36]#
6.不同的虛擬環(huán)境下安裝不同版本的軟件
(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.刪除虛擬環(huán)境
[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 /]#
你也可以在其他虛擬環(huán)境目錄下面安裝 ipython,切換到其他設(shè)定的版本目錄中無法使用,說明是相互隔離的。
使用pyenv和pyenv-virtualenv插件,可以實現(xiàn)在不同版本之間的切換,相比管理python版本,不但節(jié)省時間,也避免工作過程中的互相干擾。
遇到的問題:在pycharm上安裝MySQLdb遇到了一個問題,我的環(huán)境是centos7.4,python環(huán)境是pyenv里面裝的py3.6.5,后來發(fā)現(xiàn)python3的mysql模塊不叫MySQLdb,而是叫pymysql。。。。。。
總結(jié)
以上是生活随笔為你收集整理的python工作环境_CentOS7下python工作环境管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 拦截器_Sprin
- 下一篇: python 计时_python怎么实现