作为一个轻度强迫症患者,总喜欢分门别类的归置一些物品,在编程当中,也是这样子的。
对于在Python中,如果想要将每一个项目的依赖包都独立出来,即新建每一个项目都新建一个环境。而不是像我们在入门阶段时,把所有pip install
命令安装的包都放在一个文件夹里面。
一、安装python
首先是Linux系统中已经具备python环境,其中方法1最为常用
方法1:
如果是云服务器的话,国内的阿里云和腾讯云等服务器镜像库里都已经有了python3的安装。即使用sudo yum install python3
进行安装。
方法2:
如果是标准的Linux服务器的话,里面是不含有python3的yum
安装包,因此需要安装EPEL,即Extra Packages for Enterprise Linux的简称。
- 使用 sudo yum install epel-release 命令安装 epel 扩展软件包。
- 使用 sudo yum install python3 安装Python3版本。
方法3:
- 进入https://www.python.org/downloads/source/的python官网选择python版本,并下载tar包。
- 使用tar命令对Linux目录中的包文件进行解压
tar -zxvf Python3.7.5.tgz
- 进入解压后的文件
cd Python-3.7.5
,运行./configure命令,生成makefile文件 - 运行
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xzdevel libffi-devel
命令安装缺少的模块 - 运行
sudo make & sudo make install
命令,安装Python.
提示:
; (分号)cmd1; cmd2 表示执行完cmd1后,执行cmd2,无论cmd1指令是否执行成功
|| (两个或运算符) cmd1 || cmd2 # 先执行cmd1,cmd1执行失败以后
才会执行cmd2
&&(两个与运算符) cmd1 && cmd2 # 先执行cdm1,cmd1执行成功以后,才会执行cmd2
- 运行
sudo make & sudo make install
命令,安装Python. - 运行
ln -s /usr/local/bin/python3.7 /usr/bin/python3
命令,在 /usr/bin目录下建立Python3.7的软连接。
软连接的意思就是将python3.7 变为python3的快捷方式
- 运行python3命令可以打开python3.7
- 问题:但是此时每次python安装环境时都要使用pip3 这个命令,可否使用pip这个命令启动pip,答案是可以的。
- 解决方式:
-
- 进入
/usr/bin
这个目录。
- 进入
-
- 使用
ll pip*
,列出所有名字中以pip开头的文件。
- 使用
-
- 使用
rm pip
,删除pip文件
- 使用
-
- 使用
sudo ln -s pip3 pip
增加名为pip的软链接,指向pip3
- 使用
- 提示:如果提示权限不够的话,在命令前面增加 sudo 指令
二、安装virtualenv
借用廖雪峰前辈的总结就是:
virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题
1. 安装virtualenv
sudo pip install virtualenv
2.安装virtualenvwrapper
sudo pip install virtualenvwrapper
在安装完这两个文件是否可以愉快的玩耍了?答案是:No。
此时我们还需要配置一下用户目录下的.bashrc
文件,当然也可以把它加到根目录下的.bashrc
文件。当然,这种做法是不推荐的。
在.bashrc
末尾处添加以下命令:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.envs
source /usr/local/bin/virtualenvwrapper.sh
提示:
第一句:export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
的意思是: 指定虚拟环境下默认的python版本是python3
第二句:export WORKON_HOME=~/.envs
的意思是: 指定新创建的虚拟环境保存在~/.envs
当中,
第三句:source /usr/local/bin/virtualenvwrapper.sh
的意思是:执行virtualenvwrapper.sh
脚本
3.执行~/.bashrc
文件
source ~/.bashrc
提示:这段命令的意思是执行脚本文件~/.bashrc
,否则将需要重新连接云服务器。在启动服务器的时候,会自动执行该脚本文件
4.新建虚拟环境
使用mkvirtualenv test
命令就可以新建一个名字叫做test
的虚拟环境,并且存放在~/.envs
当中.
在这个新的虚拟环境中,python所下载的包都放在同一个地方:
/home/JiangCheng/.envs/test/lib/python3.6/site-packages
,如下图所示:
5.管理虚拟环境的指令:
mkvirtualenv test # 创建并切换到test虚拟环境
deactivate # 离开test虚拟环境
rmvirtualenv test # 删除test虚拟环境
workon demo # 切换到demo虚拟环境
rmvirtualenv test# 删除虚拟环境test
提示:在某一环境中使用
pip install
某一个包时,不能使用sudo
的命令!!!否则会将包安装到大的虚拟环境:/usr/local/lib64/python3.6/site-packages
这个目录里面