python virtualenv虚拟环境的配置

在python实际开发中,往往需要虚拟环境来保证每个项目有独立的依赖环境,不相互影响,virtualenv等工具的出现正好解决了这个问题。

  1. 基本包
    virtualenv
    安装方法
    pip install virtualenv

  2. 附加包
    virtualenvwrapper
    用于简化虚拟环境的使用和管理
    安装方法

pip install virtualenvwrapper
source /usr/local/bin/virtualenvwrapper.sh(初始化virtualenv环境,将这行命令添加到~/.bashrc或~/.zshrc,避免每次手动初始化,没有则新建)

基本用法
命令语法可查看virtualenvwrapper官方文档

新建venv
mkvirtualenv -p python3 djangodev(指定python版本)
列举venv
lsvirtualenv
进入当前venv目录
cdvirtualenv
切换venv
workon [env name]
退出venv
deactivate
删除venv
rmvirtualenv [env name]
  1. 建议
    将虚拟环境放在固定的目录,便于统一管理。例如,新建~/.virtualenvs/目录,需要使用虚拟环境的项目都放在这个目录下。(如果使用virtualwrapper会自动创建该目录,不能手动新建,否则会产生冲突)

  2. 问题
    a. 在linux下,手动安装python3.6后,在virtualenvs使用pip安装依赖包时出现ssl module不存在

~/.virtualenvs/djangodemo » pip install django                                          redhat@redhat-pc
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting django
  Could not fetch URL https://pypi.douban.com/simple/django/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement django (from versions: )
No matching distribution found for django

重新手动安装python3

sudo apt-get install python3-dev libffi-dev libssl-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz  
tar xvf Python-3.6.0.tgz
cd Python-3.6.0
./configure --enable-optimizations  
make -j8  
sudo make altinstall
python3.6

解决方案
b.virtualenv只是为python工程提供必要的开发环境,并不需要将工程和虚拟环境放在一起,这样有可能在使用git的时候将追踪虚拟环境的bin、include等目录,造成不必要的冲突。

你可能感兴趣的:(python virtualenv虚拟环境的配置)