virtualenv备忘

2017-09-20  本文已影响70人  明慢慢

为什么用virtualenv

通过virtualenv配置一个虚拟环境,这样在这个环境中安装的任何内容不会对我系统中的全局Python造成影响,这样就可以随便折腾了。

安装virtualenv

  1. 检查是否已经安装

virtualenv --version
显示错误就是没有安装了。

  1. 安装virtualenv
  1. Linux(Ubuntu)
    sudo apt-get install python-virtualenv
  2. Mac OS X
    sudo easy_install virtualenv

使用virtualenv

  1. 在指定文件夹(test)下创建Python虚拟环境

假定已经在test目录下了。
virtualenv venv

虚拟环境的名字命名为venv
$ sudo virtualenv venv
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done
在test目录下会生成一个venv目录

  1. 激活虚拟环境
  1. Linux 和Mac OS X 用户

source vent/bin/activate

  1. Windows 用户

vent\Scripts\activate
激活虚拟环境以后,在命令行提示符会加入环境的名称

(venv)$

  1. 回到全局Python环境中

直接在命令行输入:deactivate

常见问题处理

  1. 环境迁移

    • 问题描述:有时在一个机器的虚拟环境中安装了一系列模块,当需要换个机器时需要重新安装对应模块,这时可以通过模块配置文件来简化安装过程。
    • 实施步骤:
      1. 在已经安装好模块的机器上,激活虚拟环境,输入pip freeze > requirements.txt,生成配置文件
      2. 拷贝requirement.txt文件到需要安装模块的机器
      3. 在需要安装模块的机器上,激活虚拟环境,输入pip install -r requirements.txt ,安装模块。
  2. win32模块的安装

    • 错误说明:
      如果你的代码中使用了pywin32模块,你会发现通过在虚拟环境下的pip install 安装或者conda install 来安装的pywin32模块都无法正常工作,情况类似如下

      报错信息
    • 结局办法

      1. 下载pywin32的二进制exe安装包,具体地址:http://sourceforge.net/projects/pywin32/files/pywin32/,做需要注意的问题是在下载时注意选择你python版本所对应的文件。
      2. 激活虚拟环境
      3. 在虚拟环境中输入 easy_install pywin32-220.win-amd64-py3.5.exe,其中pywin32-220......这个是你所下载对应的具体版本。
        命令行图示
        命令行图示
      命令行图示,导入模块成功
  3. Python3环境下的pyhook3模块安装

    • 问题说明 :通过http://www.lfd.uci.edu/~gohlke/pythonlibs/下载的pyhook安装模块在实际运行中会报TypeError: MouseSwitch() missing 8 required positional arguments: 'msg', 'x', 'y', 'data', 'flags',错误,同时整个界面卡得要死。
    • 解决办法:在pipy上有pyhook3的模块,需安装该模块。
    1. 激活虚拟环境
    2. pip install pyhook3
    3. 根据你的虚拟python环境的不同可能会需要你手动编译该模块,如果需要手动编译,请安一下步骤操作
      1. 下载并安装swig,http://www.swig.org/
      2. 根据提示安装Visual C++的编译包
      3. pip install pyhook3
      4. 注意编译完成后在虚拟环境下形成的目录名的字母大小。在import的时候要保持一致,保持一致


        2017-09-21_132613.png
  4. pip 豆瓣镜像的使用
    pip install -U wxpy -i "https://pypi.doubanio.com/simple/"

上一篇下一篇

猜你喜欢

热点阅读