mac 下 python 虚拟环境的安装和配置

    前言:继续安装中,这节记录 mac 安装 python 虚拟环境,多版本共存...

1. 安装 pip -- python的包管理工具:

sudo easy_install pip 

安装成功,出现下面:

2. 安装完pip之后,就要安装 virtualenv:

sudo pip install virtualenv  # 卸载安装:sudo pip uninstall virtualenv

据说如果是用的macOS 10.11可能会出现以下的提示(我用的是macOS 10.13,也出现以下的提示):

1 The directory '/Users/xxxx/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.  
2 The directory '/Users/xxxx/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.  

 可以忽略,或者执行下面的命令(其实它已经在提示的最后建议要加上 -H):

sudo -H pip install virtualenv

3. 然后要安装virtualenvwrapper:

     Virtaulenvwrapper 是 virtualenv 的扩展包,可以更方便地新增,删除,复制,切换虚拟环境。

sudo -H pip install virtualenvwrapper

安装成功如下:

据说,有人在安装的时候,遇到了这样的错误(我未遇到,未验证):

 1 Installing collected packages: six  
 2   Found existing installation: six 1.4.1  
 3     DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.  
 4     Uninstalling six-1.4.1:  
 5 Exception:  
 6 Traceback (most recent call last):  
 7   File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/basecommand.py", line 215, in main  
 8     status = self.run(options, args)  
 9   File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/commands/install.py", line 317, in run  
10     prefix=options.prefix_path,  
11   File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_set.py", line 736, in install  
12     requirement.uninstall(auto_confirm=True)  
13   File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_install.py", line 742, in uninstall  
14     paths_to_remove.remove(auto_confirm)  
15   File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove  
16     renames(path, new_path)  
17   File "/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg/pip/utils/__init__.py", line 267, in renames  
18     shutil.move(old, new)  
19   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move  
20     copy2(src, real_dst)  
21   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2  
22     copystat(src, dst)  
23   File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat  
24     os.chflags(dst, st.st_flags)  
25 OSError: [Errno 1] Operation not permitted: '/tmp/pip-vyEme3-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'  

执行下面的命令,重新安装

1 sudo pip install pbr  
2 sudo pip install --no-deps stevedore  
3 sudo pip install --no-deps virtualenvwrapper 

4. 创建虚拟环境:

source /usr/local/bin/virtualenvwrapper.sh

5. 让文件生效,并且要将命令写到 ~.bash_profile 里。

创建虚拟环境,指定python的版本,并将虚拟环境命名为python3

mkvirtualenv --python=/usr/local/bin/python3 python3 

6. 创建好虚拟环境之后,会自动进入虚拟环境

退出虚拟环境的命令为 deactivate

虚拟环境的一些命令:

workon   会列出所有的虚拟环境

workon  [name]  会进入指定的虚拟环境

deactivate   退出当前的虚拟环境

mkvirtualenv  [name] 创建虚拟环境

rmvirtualenv  [name] 删除虚拟环境

参考:https://blog.csdn.net/blog_user_zk/article/details/72844452

原文地址:https://www.cnblogs.com/ostrich-sunshine/p/8782596.html