python开发环境的配置(Linux+pycharm+pyenv)

Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存。在实际工作过程中,我们可能会同时用到Python 2和Python 3,因此,也需要经常在Python 2和Python 3之间进行来回切换。这就需要对python的版本进行管理,除此之外还需要对不同的软件包进行管理。大部分情况下,对于开源的库我们使用最新版本即可。但是,有时候可能需要对相同的Python版本,在不同的项目中使用不同版本的软件包。

在这里,我们要使用两个工具:pyenv和virtualenv。前者用于管理不同的Python版本,后者用于管理不同的工作环境。有了这两个工具,Python相关的版本问题将不再是问题。

pyenv
pyenv是一个Python版本管理工具,它能够进行全局的Python版本切换,也可以为单个项目提供对应的Python版本。使用pyenv以后,可以在服务器上安装多个不同的Python版本,也可以安装不同的Python实现。不同Python版本之间的切换也非常简单。pyenv官方地址[https://github.com/pyenv/pyenv-installer]

  • 安装pyenv
#1 安装pyenv,在命令行下键入:
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

#默认安装到当前用户的工作目录下的.pyenv,我们可以查看一下
$ cd ~
$ ls -la

#如果安装过git,也可以使用以下安装方式安装
 $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 
!!!!!!(用上面的方法安装以后 会在最后出现三句话 每个人的都不一样 将其赋值 写入.bashrc)!!!!!!!!!

#2 将安装路径写入~/.bashrc
将以下三条语句写入 ~/.bashrc  (这是我的  每个人 都一样  记得更改!!!!!)
export PATH="/home/zhu/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"



$ source  ~/.bashrc  #配置立刻生效

$ echo $PATH
#如果路径第一个结尾是shims则表示成功
/home/python/.pyenv/plugins/pyenv-virtualenv/shims:/home/python/.pyenv/shims:/home/python/.pyenv/bin:/home/python/bin:/home/python/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin


#也可以将上面三条命令写入到~/.barsh_profile,然后重启一下shell


#3 更新一下
$ pyenv update
  • 使用pyenv
#1.查看pyenv当前支持哪些Python版本
python@ubuntu:~$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  ...
  
#2.列出pyenv中所有可用的python版本
python@ubuntu:~$ pyenv versions
  system
  3.5.4
* 3.6.4 (set by /home/python/.pyenv/version)  # *表示当前使用的3.6.4版本

#3.选择指定的python版本
python@ubuntu:~$ pyenv global 3.5.4  #设置指定的版本
python@ubuntu:~$ python  
Python 3.5.4 (default, Mar 29 2018, 11:02:03)  #已经切换到了3.5.4
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
切换Python版本以后,与版本相关的依赖也会一起切换。因此,我们不用担心不同的版本在系统中是否会相互干扰。

#4. 删除指定python版本
python@ubuntu:~$ pyenv uninstall 3.5.4
pyenv: remove /home/python/.pyenv/versions/3.5.4? y
python@ubuntu:~$ pyenv versions
  system
 * 3.6.4 (set by /home/python/.pyenv/version)
  • 安装python
#1.在安装python之前,我们必须要安装python所需要的依赖包,这个必须要安装,安装会失败的:
$ sudo apt-get install libc6-dev gcc
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm

#2. 安装python
$ pyenv install 3.6.4 -v  #-v 以日志模式显示安装过程
#因为pyenv会自动到github上下载,速度超慢,所以一般会选择使用curl或者wget下载到~/.pyenv/cache下,然后再用pyenv安装,下面是可选的安装模式
$ cd ~/.pyenv
$ sudo mkdir cache
$ wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P  ~/.pyenv/cache/
$ pyenv install 3.6.4 -v

#3.更新pyenv数据库
 $ pyenv rehash

#4.列出所安装的python版本
  $ pyenv versions

#5.切换python版本
$ pyenv  global 3.6.4

#6.验证版本
 $ python

注意:

  • 使用pyenv管理python,必须是用pyenv安装的python才行,系统以前有的,需要重新用pyenv安装
  • 使用pip安装第三方模块时会安装到~/.pyenv/versions/xxx下,不会和系统模块发生冲突;
  • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。

通过pyenv管理python 就必须通过pyenv进行安装,安装完之后的目录

1 cd /pyenv
2 ls 在pyenv 下有一个versions的文件夹
3 cd versions/
4 ls	安装的python版本都在这里

进入.pyenv后就可以看到
删除版本 pyenv uninstall 指定版本
一个项目创建一个virtualenv的虚拟环境,在这个环境中,可以用pip安装项目所需的库,不会影响其他项目。切记一个项目一个虚拟环境,否则可能会发生莫名的错误。在python3 以上的版本 自带虚拟环境 可以不用安装(最下面有virtualenv的安装)

#1.首先创建项目目录

$ sudo mkdir -p python/test
cd python/test

#2.创建项目的虚拟环境
#用法:pyenv virtualenv python版本号 虚拟环境名

$ pyenv virtualenv 3.6.6 env3.6.6   #注意版本号必须是已经安装的,否则会报错

当出现Requirement already satisfied: 表示ok
查看安装python的版本 pyenv versions 会看到在上一步中创建的虚拟环境
可以看到已经创建的虚拟环境
#3.切换到虚拟环境

root@iZuf61bzpi3orr973qjvxbZ:~/python/test# pyenv activate env3.6.6
(env3.6.6) root@iZuf61bzpi3orr973qjvxbZ:~/python/test#

在前面会出现(env3.6.6) 表示该项目处于虚拟环境中

#4 验证

(env3.6.6) root@iZuf61bzpi3orr973qjvxbZ:~/python/test# python
Python 3.6.6 (default, Mar 29 2018, 10:33:37) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

#4. 切出虚拟环境

(env3.6.6) root@iZuf61bzpi3orr973qjvxbZ:~/python/test#  pyenv deactivate env3.6.6

可以看到前面的()没有了 就表示退出当前虚拟环境
看看虚拟环境所安装的库使用 pip list 进行查看
在这里插入图片描述
此时看到的是系统自带的库
当你安装东西时 会提醒你pip版本太低(有的直接显示) 进行更新即可

pip install --upgrade pip

更新后就可以装你自己想要装的库 可以使用pip freeze 进行查看你自己装的库 系统自带的不会显示

virtualenv的安装

virtualenv本身是一个独立的项目,用以隔离不同项目的工作环境。例如,项目A和项目B都是使用Python 2.7.13,但是,项目A需要使用Flask 0.8版本,项目B需要使用Flask 0.9版本。我们只要组合pyenv和virtualenv这两个工具,就能够构造Python和第三方库的任意版本组合,拥有了很好的灵活性,也避免了项目之间的相互干扰。
virtualenv本身是一个独立的工具,用户可以不使用pyenv单独使用virtualenv。但是,如果你使用了pyenv,就需要安装pyenv-virtualenv插件而不是virtualenv软件来使用virtualenv的功能。

  • 安装virtualenv(可选)
    如果是python3以上,安装完pyth就已经安装了virtualenv,就不用安装了
    #安装
    $ pip install virtualenv

    #或者,如果提示版本不匹配,可以使用--upgrade参数
    $ sudo pip install --upgrade virtualenv
    
  • 使用virtualenv创建项目的虚拟环境

一个项目创建一个virtualenv的虚拟环境,在这个环境中,可以用pip安装项目所需的库,不会影响其他项目。切记一个项目一个虚拟环境,否则可能会发生莫名的错误。

#1.首先创建项目目录
$ sudo mkdir -p myproject/blog
cd myproject/blog

#2.创建项目的虚拟环境
#用法:pyenv virtualenv python版本号 虚拟环境名
$ pyenv virtualenv 3.6.4 env36   #注意版本号必须是已经安装的,否则会报错

#3.切换到虚拟环境
python@ubuntu:/myproject/blog$ pyenv activate env36

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

(env36) python@ubuntu:/myproject/blog$  # (env36)表示该项目处于虚拟环境中

#验证
(env36) python@ubuntu:/myproject/blog$ python
Python 3.6.4 (default, Mar 29 2018, 10:33:37) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

#4. 切出虚拟环境
(env36) python@ubuntu:/myproject/blog$ pyenv deactivate env36
  • 使用pip下载库

使用pip下载,会从国外的网站下载,速度超慢,所以要切换pip到国内的镜像源,一般会用psm切换pip的源

  • 1.安装一个软件psm
    (bbs36)python@ubuntu:/myproject/blog$ pip install psm
    [sudo] python 的密码:
    正在读取软件包列表… 完成
    正在分析软件包的依赖关系树
    正在读取状态信息… 完成
    E: 无法定位软件包 psm

  • 2.psm的使用
    以下操作需要在虚拟环境外进行,选择好镜像源后在进入虚拟环境
    #1.查看列出pip的镜像源
    (bbs36)python@ubuntu:/myproject/blog$ psm ls

    pypi 	 https://pypi.python.org/simple/
    douban 	 http://pypi.douban.com/simple/
    aliyun 	 http://mirrors.aliyun.com/pypi/simple/
    
    #查看当前的镜像源
    (bbs36)python@ubuntu:/myproject/blog$ psm show
    
    Current source is douban
    
    #2.选择指定的镜像源
    
    (bbs36)python@ubuntu:/myproject/blog$ psm use douban
    
    Source is changed to douban.
    
    #3 使用pip下载库
    (bbs36) python@ubuntu:/myproject/blog$ pip install pymysql
    

pycharm和虚拟开发环境结合

在你新建项目的时候 选择环境

在你的家目录下 找到.pyenv  在versions下 找到你创建的虚拟环境,点击找到bin目录,
点击python  就是我们的虚拟环境  然后一路ok 

已有的项目 file -->settings-->Project xxx --> Project Interpreter 选择你的虚拟开发环境,若没有,进行添加 和新建项目的步骤基本一致

到此 虚拟环境就可以使用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值