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

总结

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

相关文章

Django的信号机制详解

Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。 Django...

给Python中的MySQLdb模块添加超时功能的教程

使用Python操作MySQL数据库的时候常使用MySQLdb这个模块。 今天在开发的过程发现MySQLdb.connect有些参数没法设置。通过这个页面我们可以看到在connect的时...

python实现requests发送/上传多个文件的示例

1、需要的环境 Python2.X Requests 库 2、单字段发送单个文件 在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求...

Python Tkinter GUI编程入门介绍

Python Tkinter GUI编程入门介绍

一、Tkinter介绍 Tkinter是一个python模块,是一个调用Tcl/Tk的接口,它是一个跨平台的脚本图形界面接口。Tkinter不是唯一的python图形编程接口,但是是其中...

深入理解NumPy简明教程---数组2

NumPy数组(2、数组的操作) 基本运算 数组的算术运算是按元素逐个运算。数组运算后将创建包含运算结果的新数组。 >>> a= np.array([20,30...