为什么用virtualenv
通过virtualenv配置一个虚拟环境,这样在这个环境中安装的任何内容不会对我系统中的全局Python造成影响,这样就可以随便折腾了。
安装virtualenv
- 检查是否已经安装
virtualenv --version
显示错误就是没有安装了。
- 安装virtualenv
- Linux(Ubuntu)
sudo apt-get install python-virtualenv- Mac OS X
sudo easy_install virtualenv
使用virtualenv
- 在指定文件夹(test)下创建Python虚拟环境
假定已经在test目录下了。
virtualenv venv虚拟环境的名字命名为venv
$ sudo virtualenv venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done
在test目录下会生成一个venv目录
- 激活虚拟环境
- Linux 和Mac OS X 用户
source vent/bin/activate
- Windows 用户
vent\Scripts\activate
激活虚拟环境以后,在命令行提示符会加入环境的名称(venv)$
- 回到全局Python环境中
直接在命令行输入:deactivate
常见问题处理
-
环境迁移
- 问题描述:有时在一个机器的虚拟环境中安装了一系列模块,当需要换个机器时需要重新安装对应模块,这时可以通过模块配置文件来简化安装过程。
- 实施步骤:
- 在已经安装好模块的机器上,激活虚拟环境,输入
pip freeze > requirements.txt
,生成配置文件 - 拷贝requirement.txt文件到需要安装模块的机器
- 在需要安装模块的机器上,激活虚拟环境,输入
pip install -r requirements.txt
,安装模块。
- 在已经安装好模块的机器上,激活虚拟环境,输入
-
win32模块的安装
-
错误说明:
报错信息
如果你的代码中使用了pywin32模块,你会发现通过在虚拟环境下的pip install 安装或者conda install 来安装的pywin32模块都无法正常工作,情况类似如下
-
结局办法:
- 下载pywin32的二进制exe安装包,具体地址:http://sourceforge.net/projects/pywin32/files/pywin32/,做需要注意的问题是在下载时注意选择你python版本所对应的文件。
- 激活虚拟环境
- 在虚拟环境中输入
easy_install pywin32-220.win-amd64-py3.5.exe
,其中pywin32-220......这个是你所下载对应的具体版本。
命令行图示
命令行图示
-
-
Python3环境下的pyhook3模块安装
-
问题说明 :通过http://www.lfd.uci.edu/~gohlke/pythonlibs/下载的pyhook安装模块在实际运行中会报
TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'flags',
错误,同时整个界面卡得要死。 - 解决办法:在pipy上有pyhook3的模块,需安装该模块。
- 激活虚拟环境
pip install pyhook3
- 根据你的虚拟python环境的不同可能会需要你手动编译该模块,如果需要手动编译,请安一下步骤操作
- 下载并安装swig,http://www.swig.org/
- 根据提示安装Visual C++的编译包
-
pip install pyhook3
。 -
注意编译完成后在虚拟环境下形成的目录名的字母大小。在import的时候要保持一致,保持一致
2017-09-21_132613.png
-
问题说明 :通过http://www.lfd.uci.edu/~gohlke/pythonlibs/下载的pyhook安装模块在实际运行中会报
-
pip 豆瓣镜像的使用
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"
网友评论