python虚拟环境virualenv的安装与使用

yipeiwu_com6年前Python基础

前言

在安装完python及pip,setuptools等工具后,即可以创建virualenv虚拟环境了,这个类似于虚拟机的工具,可以让同一台电脑中运行多个不同版本的python程序,互不影响,不用的时候,可以退出或删除,挺不错的一个开发工具。

一、安装virtualenv

#install pip on mac
brew install python
curl https://bootstrap.pypa.io/ez_setup.py -o - | sudo python
sudo easy_install pip
#install virtualenv by pip
pip install virtualenv

二、virtualenv的使用

#创建一个叫做pythonEnv的新环境
virtualenv pythonEnv
#激活再使用
cd pythonEnv
source bin/activate
#退出环境
deactivate

三,使用virtualenvwrapper管理虚拟环境

安装virtualenvwrapper

pip install virtualenvwrapper

配置环境变量:

vim ~/.bash_profile
# Virtualenv/VirtualenvWrapper
source /usr/local/bin/virtualenvwrapper.sh
# exit vim
source ~/.bash_profile

创建环境

mkvirtualenv pythonEnv #在 ~/Envs 中创建 pythonEnv文件夹
mkvirtualenv python3Env -p python3.5 #创建python3.5的环境

切换环境:

workon pythonEnv

退出环境:

deactivate

删除环境:

rmvirtualenv pythonEnv

其他

1、其他命令

lsvirtualenv #列举所有的环境。
cdvirtualenv #导航到当前激活的虚拟环境的目录中,比如说这样你就能够浏览它的 site-packages 。
cdsitepackages #和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages #显示 site-packages 目录中的内容。

参考资料:http://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

2、使用easy_install命令安装pip的时候,出现ImportError: No module named extern错误

原因:mac自带的python2.7.12的extern模块没有安装

解决办法:

#download from https://pypi.python.org/pypi/extern/0.1.0
tar zxf extern-0.1.0.tar.gz && python setup.py install

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

Python实现获取操作系统版本信息方法

最近,想在我的YouMoney(http://code.google.com/p/youmoney/)里面增加提取用户操作系统版本信息。比如windows用户,可能要返回Windows...

Python生态圈图像格式转换问题(推荐)

Python生态圈图像格式转换问题(推荐)

在Python生态圈里,最常用的图像库是PIL——尽管已经被后来的pillow取代,但因为pillow的API几乎完全继承了PIL,所以大家还是约定俗成地称其为PIL。除PIL之外,越来...

在Python的Django框架下使用django-tagging的教程

django使用app机制来实现组件的重用,充分的利用已有的app可以极大的简化开发工作。目前django下的app虽然还不够丰富,却也还是有部分不错的。django-tagging就是...

pycharm 使用心得(五)断点调试

pycharm 使用心得(五)断点调试

【运行】和【调试】前的设置,详见前面的文章,helloword。 1,设置断点 在代码前面,行号的后面,鼠标单击,就可以设置断点。如下: 2,调试 断点点击那个绿色的甲虫图标(似乎甲虫...

python中lambda()的用法

在C++11和C#中都有匿名函数的存在。下面看看在python中匿名函数的使用。 1.lambda只是一个表达式,函数体比def简单很多。 2.lambda的主体是一个表达式,而不是一个...