2019-05-20 Linux中搭建Python开发环境

开发环境配置

pyenv的官网github.com/pyenv/pyenv

Linux版本是CentOS 7

第一步:使用yum安装git

[root@CentOS60 ~]# yum -y install git


第二步:python安装依赖开发环境

[root@CentOS60 ~]# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel libffi-devel

注意:libffi-devel 包是python3.7版本所需要到,不然会报ModuleNotFoundError: No module named '_ctypes' 错误


第三步:添加一个普通用户python,并设置密码

这里添加的用户名不一定非要python,当然你也可以用root,我这里用普通账号来实现。

[root@CentOS60 ~]# useradd python

[root@CentOS60 ~]# passwd python


第四步:安装pyenv

用python用户登录执行如下命令,安装pyenv

[python@CentOS60 ~]$ curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash

极其重要的操作:在安装完毕之后,在最后会有一个提示,让我们将如下的代码加入到用户家目录的.bash_profile(CentOS 6)中或者.bashrc(CentOS 7)中


提示如下:

exportPATH="/home/python/.pyenv/bin:$PATH"

eval "$(pyenv init -)"

eval "$(pyenvvirtualenv-init -)"


第五步:我们查看当前系统python版本,然后安装我们需要的版本

[python@CentOS60 ~]$ python -V     # CentOS 7默认自带的是2.7版本

# 利用pyenv查看pyenv所支持的命令

[python@CentOS60 ~]$ pyenv             #查看pyenv所支持到命令


# 查看如何安装所需要的版本

[python@CentOS60 ~]$ source /home/python/.bashrc   # 刷新配置文件否则下面语句无法执行  也可以用 . .bashrc   (要确保在python的家目录也就是/home/python目录中)

[python@CentOS60 ~]$ pyenv help install          #查看install 到帮助


相关参数:

-l            查看所有可以使用的版本

-f            强制重新安装,即使该版本已经安装了

-s            如果该版本已经安装,则跳过

-v            显示安装的过程


安装相关版本直接使用pyenv install版本号

[python@CentOS60 ~]$ pyenv install 3.7.3  -v      #安装3.7.3

注意:由于源码是从国外服务器下载,有时候会下载失败,那么我们可以在home目录的.pyenv目录中建一个cache文件夹,将我们从其他地方已经下载好的包放进去,这里需要注意的是,直接安装下载的是什么格式的包,我们就需要放入什么格式的包,否则程序不会自动识别,为了保证成功,把所有的都放进去即可。我当前安装的时候,显示的是包是.tar.xz ,官网有.tar.xz和.tgz两种格式。


第六步:我们重新运行安装命令

[python@CentOS60 ~]$ pyenv install 3.7.3  -v     #安装3.7.3

这样系统就会继续编译安装python 3.7.3 


第七步:查看所有已安装的版本,然后设置python3.7.3为默认版本

[python@CentOS60 ~]$ pyenv versions       #查看已安装到所有版本

如下图所示:


我们设置Python默认版本有三种情况

global :全局设置,包括当期其他用户或其他项目都会改变,基本上不可能用global来设置

shell  :会话设置,只在当前会话生效,断开链接就失效,也基本上不用

local  :局部设置,针对的是一个文件夹,我们可以创建一个文件夹然后讲项目放到该文件夹中这样既不会影响其他用户,也可以让自己的环境得以配置


local设置操作如下:

# 创建一个目录

[python@CentOS60 ~]$ mkdir study/projects  -p     #递归创建目录


# 进入该目录设置环境python版本

[python@CentOS60 ~]$ cd ./study/projects/        #进入projects目录

[python@CentOS60 projects]$ pyenv local  3.7.3    #将projects目录设置为3.7.3


# 查看是否设置成功,上级目录或其他目录都是默认到2.7,该目录下创建到子目录都是3.7.3,可自行验证

[python@CentOS60 projects]$ pyenv version     #查看python版本

3.7.3 (set by/home/python/study/projects/.python-version)


[python@CentOS60 projects]$ python -V        # 另一种查看方式,如果该种方式查看没有改过来,可断开重新连接

Python 3.7.3


# 进入上级目录查看python环境。

[python@CentOS60 projects]$ cd ..

[python@CentOS60 study]$ python -V

Python 2.7.5



第八步:配置虚拟环境

由于在第七步上面我们每一个项目或所需要到包或者环境都不可能完全一样,为了减少相互影响我们需要创建一个虚拟环境,我们将projects目录改回系统默认到python环境,进入projects目录

[python@CentOS60 projects]$ pyenv local  system          #将环境设置为系统默认


创建一个新的目录,如cmdb

[python@CentOS60 projects]$ mkdir cmdb              #创建cmdb目录


进入cmdb,创建虚拟目录

[python@CentOS60 projects]$ cd cmdb

[python@CentOS60 cmdb]$ pyenv virtualenv 3.7.3 study373            # study373 是别名

使用virtualenv插件(该插件无需额外安装,直接使用即可),后面接python版本,并给当前虚拟环境取一个别名。创建好了之后,我们只要进入该文件夹,就会在目录前面加上我们到的别名,如下所示

(study373 ) [python@CentOS60 cmdb]$ pyenv versions

 system

 3.7.3

 3.7.3/envs/zcf373

* zcf373 (set by /home/python/study/projects/cmdb/.python-version)


配置pip安装镜像

在python用户的home目录中创建一个pip文件夹,进入pip文件夹创建一个pip.conf文件,输入如下信息:

[global]

index-url=https://mirrors.aliyun.com/pypi/simple

trusted-host=mirrors.aliyun.com


具体步骤如下所示:

[python@CentOS60 ~]$ mkdir .pip        #创建隐藏文件夹.pip

[python@CentOS60 ~]$ cd .pip/             #进入.pip

[python@CentOS60 .pip]$ touch pip.conf #创建文件pip.conf

[python@CentOS60 .pip]$ vim pip.conf      #输入上面到内容


创建好来之后我们可以验证是否配置成功

(study373 ) [python@CentOS60 cmdb]$ pip install redis

从下载到网址和速度我们可以看到已经配置成功来。


如果要删除虚拟环境怎么办呢?

方法一:删除对应的目录文件夹即可:

首先删除  /home/python/.pyenv/versions 对应的虚拟环境名,这里只是一个软连接

在就是删除  /home/python/.pyenv/versions/3.7.3/envs 目录中的虚拟环境名,上面的软连接就是指向这个位置的。

方法二:使用命令删除

[python@CentOS60 .pip]$ pyenv virtualenv-delete 虚拟环境名

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,529评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,015评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,409评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,385评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,387评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,466评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,880评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,528评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,727评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,528评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,602评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,302评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,873评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,890评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,132评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,777评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,310评论 2 342