linux环境下安装python虚拟环境及注意事项

yipeiwu_com5年前Python基础

创建python虚拟环境virtualenv、virtualenvwrapper

1,为什么需要搭建虚拟环境

由于当机器上两个项目依赖于相同包的不同版本时,会导致项目运行失败,此时可以安装虚拟环境 。

2,什么是虚拟环境

虚拟环境就是python环境的复制版本
创建虚拟环境时需要有网络连接

3,安装python、pip、virtualenv

ubuntu:
sudo apt-get install python3    # 安装python3
sudo apt-get install python-pip    # 安装pip 
sudo pip install virtualenv     #安装虚拟环境 
sudo pip install virtualenvwrapper   #安装虚拟环境扩展包
centos:
sudo yum -y install python36 # 安装python3
sudo yum -y install python36-pip # 安装pip 
yum install python-virtualenv #安装虚拟环境 
yum install python-virtualenvwrapper #安装虚拟环境扩展包

检查安装情况:

python3.6 -V
pip3.6 -V

添加软链接:

# 使用python3去使用Python3.6:
ln -s /usr/bin/python3.6 /usr/bin/python3
# 复制代码pip3.6同理:
ln -s /usr/bin/pip3.6 /usr/bin/pip3

4,编辑虚拟文件并运行

# 在主目录(家目录)编辑文件
vim .bashrc 
# 在末尾加入虚拟环境地址 (虚拟文件都存储在.virtualenvs )
export WORKON_HOME=$HOME/.virtualenvs 
# 加入可直接使用在虚拟环境中的命令 
source /usr/bin/virtualenvwrapper.sh  
# 运行文件并生效 
source .bashrc 

5,创建一个虚拟环境

# 创建python3虚拟环境并命名
mkvirtualenv -p python3 milepost
 # 退出虚拟环境 
deactivate 
 # 进入虚拟环境中工作 
workon web_working 
# 列出所有虚拟环境
lsvirtualenv -b
# cpvirtualenv 复制环境
cpvirtualenv env1 env3 (复制env1到env3)
# 列出当前环境中site-packages内容 (在环境中执行)
lssitepackages 
# 清除环境内所有第三方包
cdsitepackages 
 # 删除虚拟环境项目 
 rmvirtualenv + 虚拟环境名 

注意:

1,在虚拟环境中使用的python是复制的python,安装python包也是安装在复制的python中,其他没有任何区别。虚拟环境中创建文件等任何操作在真实环境中都存在,只是复制了python,并安装python的包这两点与真实环境不同。

2,在虚拟环境中安装包,不能使用sudo pip install ,此命令会把包安装到真实的环境中,应去掉sudo

总结

以上所述是小编给大家介绍的linux环境下安装python虚拟环境及注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python中表达式x += y和x = x+y 的区别详解

前言 本文主要给大家介绍的是关于Python中表达式x += y和x = x+y 区别的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 直接看下面代码: x +=y In...

windows系统下Python环境搭建教程

windows系统下Python环境搭建教程

windows系统下Python环境的搭建 step1:下载Python程序 https://www.python.org/downloads/release/python-351/...

深入浅析Python获取对象信息的函数type()、isinstance()、dir()

深入浅析Python获取对象信息的函数type()、isinstance()、dir()

type()函数: 使用type()函数可以判断对象的类型,如果一个变量指向了函数或类,也可以用type判断。 如: class Student(object): name = '...

tensorflow训练中出现nan问题的解决

深度学习中对于网络的训练是参数更新的过程,需要注意一种情况就是输入数据未做归一化时,如果前向传播结果已经是[0,0,0,1,0,0,0,0]这种形式,而真实结果是[1,0,0,0,0,0...

6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)

6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)

在项目开发过程中加载、启动、下载项目难免会用到进度条,如何使用Python实现进度条呢? 这里为小伙伴们分享四种Python实现进度条的库:Progress库、tqdm库、alive-p...