ubuntu系统下Python虚拟环境的安装和使用

ubuntu系统下Python虚拟环境的安装和使用
前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开发就显得很有必要。

安装虚拟环境
步骤:

打开Linux终端(快捷键Ctrl+Alt+T),输入命令:
sudo apt install python-virtualenv
sudo easy_install virtualenvwrapper
说明:以上两条命令逐条执行,完成后虚拟环境安装完毕。

或者可以使用pip安装,前提是安装了pip,一般python自带了pip:

sudo pip install virtualenv
sudo pip install virtualenvwrapper
说明:安装的结果一模一样,使用任意一种即可。
virtualenv是虚拟环境,virtualenvwrapper对virtualenv的命令进行了封装,使得其更加友好。
注意:安装的顺序不能颠倒,virtualenvwrapper必须依赖于virtualenv。

创建虚拟环境

在终端输入如下命令:  mkvirtualenv 虚拟环境名称
如: mkvirtualenv mywork    //会创建一个名为mywork的虚拟环境

创建的虚拟环境都保存在  /home/.virtualenvs  目录下,可以进入这个目录查看;

创建成功后会自动进入该虚拟环境,命令行提示改变;
指定python版本创建虚拟环境:    mkvirtualenv -p python路径 虚拟环境名称 
上面的命令执行时,系统会创建默认的python版本的开发环境,一般大家的电脑会同时安装python2和python3版本,有时需要不同的版本创建虚拟环境。

例:  mkvirtualenv -p /usr/bin/python3 mywork 

 -p 指的是path的简写Py安装的路径,默认安装在/usr/bin/目录下;

如果一时间找不到,使用命令:  whereis python3 

 在终端命令行搜索,会出现想要的路径。

细节:不需要进入到/home/.virtualenvs目录,在任何目录下都可以执行命令,创建的虚拟环境的位置都一样。

注意:创建虚拟环境是需要在联网下进行,否则创建失败。

**注意报错一**:使用mkvirtualenv创建虚拟环境,可能提示找不到mkvirtualenv命令,一般是脚本文件没有加入系统路径,解决如下:

方法一:

# 找到virtualenvwrapper的脚本文件  whereis virtualenvwrapper 

# 进入该目录  cd /usr/local/python3/bin

# 执行脚本文件激活 virtualenvwrapper    source virtualenvwrapper.sh 

# 可以正常使用命令了 

    方法二: 

# 方法一每次重启后都需要手动激活,不方便,将命令添加到环境变量   
	sudo vi ~/.bashrc 

# 在末尾添加一行   
	source /usr/local/python3/bin/virtualenvwrapper.sh
	 或者
	export WORKON_HOME=$HOME/.virtualenvs
	#export PROJECT_HOME=$HOME/Devel
	source /usr/local/bin/virtualenvwrapper.sh  #此处不同 virtualenvwrapper.sh路径
	source .bashrc

# 保存后执行    
	source ~/.bashrc 

 **注意报错二**:如果virtualenvwrapper.sh报错: There was a problem running the initialization hooks.解决方式
   由于在ubuntu环境下,将python做与python3.6做了软链接(ln -s python python3.6),并且pip也被我做了软链接,所以导致用pip安装virtualenvwrapper之后,在source启动virtualenvwrapper.sh时以及workon 虚拟环境时总是报错:

		复制代码
		1 ./virtualenvwrapper.sh: line 230: : command not found
		2 virtualenvwrapper.sh: There was a problem running the initialization hooks.
		3 
		4 If Python could not import the module virtualenvwrapper.hook_loader,
		5 check that virtualenvwrapper has been installed for
		6 VIRTUALENVWRAPPER_PYTHON= and that PATH is
		7 set properly.
		复制代码
		这是根据提示230行的语句:
		
		1 "$VIRTUALENVWRAPPER_PYTHON" -m 'virtualenvwrapper.hook_loader' \
		结合错误信息与提示找到的语句,猜测应该是VIRTUALENVWRAPPER_PYTHON这里有问题,然后在virtualenvwrapper.sh文件中查找VIRTUALENVWRAPPER_PYTHON,发现了关键点:
		
		1 # Locate the global Python where virtualenvwrapper is installed.
		2 if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
		3 then
		4     VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"    # 原本是写的\which python,这里贴出来的是我修改为python3后的。
		5 fi
		VIRTUALENVWRAPPER_PYTHON是用来(Locate the global Python where virtualenvwrapper is installed.)定位哪个python下面安装了virtualenvwrapper的。原本指定的位置是python,也就是2.7版本的。鉴于之前我使用python3.6安装的,所以此处要改成python3。然后这个错误就消失了。
		
		使用virtualenvwrapper的好处是不用每次使用source /xxx/虚拟环境/bin/activate来启动虚拟环境了,在~/.bashrc配置一下,日后开启虚拟环境直接可以用workon命令即可,具体操作步骤,前提是你已经安装了python-virtualenv了:
		
		复制代码
		# Setup:
		#  1. Create a directory to hold the virtual environments.
		#     (mkdir $HOME/.virtualenvs).
		#  2. Add a line like "export WORKON_HOME=$HOME/.virtualenvs"
		#     to your .bashrc.
		#  3. Add a line like "source /path/to/this/file/virtualenvwrapper.sh"
		#     to your .bashrc.
		#  4. Run: source ~/.bashrc
		#  5. Run: workon
		#  6. A list of environments, empty, is printed.
		#  7. Run: mkvirtualenv temp
		#  8. Run: workon
		#  9. This time, the "temp" environment is included.
		# 10. Run: workon temp
		# 11. The virtual environment is activated.
		复制代码
		 
		
		学三境: 一境:昨夜西风凋碧树,独上高楼,望尽天涯路; 二境:衣带渐宽终不悔,为伊消得人憔悴; 三境:众里寻‘它’千百度,蓦然回首,那斯却在,灯火阑珊处。

# 现在可以正常使用命令了,且每次重启主机自动加载命令

虚拟环境的查看和使用

删除虚拟环境 rmvirtualenv [虚拟环境名称]
例: rmvirtualenv mywork 

 注意:如果目前的位置在虚拟环境中,需要先退出虚拟环境,然后才能执行删除

 注意:可以在任何目录执行删除操作,如果不知道名字,可以rmvirtualen + 两次Tab键,提示所有的虚拟环境

退出虚拟环境   deactivate 
进入虚拟环境   workon [虚拟环境名称] 
例: workkon mywork 

注意:按workon+两次Tab键会提示所有虚拟环境。

查看虚拟环境中安装的python包
pip list
pip freeze
两个命令都可以查询,只是展示的形式不一样。
 在虚拟环境下安装python包
    进入虚拟环境,在终端输入:  pip install 包的名字  

注意:一定不要使用sudo pip ... ,这里是在虚拟环境中安装python包;

如果使用了sudo权限,python包会被安装在主机非虚拟环境下,在虚拟环境中找不到这个包
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值