美文网首页
MAC下建虚拟环境

MAC下建虚拟环境

作者: 心无旁骛_ | 来源:发表于2018-04-08 21:49 被阅读418次

【问题】

电脑里需要多个python版本,比如自带的python2.6,
应用最广的python2.7,以及新版python3.6等。

【解决】

安装普遍使用的virtualenv工具。
virtualenv 是一个创建隔绝的Python环境的 工具。可随时创建一个干净的python环境,可随时删除任一创建的python环境,且不会影响到主机的python环境。

【创建2种python版本的虚拟环境】

1.首先创建python3的虚拟环境
系统下载python3,使用默认安装即可。
终端检查

MacBook-Air:~ $ python3
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
MacBook-Air:~ $

2.使用python3自带的pip3安装virtualenv

MacBook-Air:~ $ pip3 install virtualenv
Collecting virtualenv
  Downloading virtualenv-15.2.0-py2.py3-none-any.whl (2.6MB)
    100% |████████████████████████████████| 2.6MB 171kB/s 
Installing collected packages: virtualenv
Successfully installed virtualenv-15.2.0

3.检查安装的virtualenv位置版本

MacBook-Air:~ $ pip3 show virtualenv
Name: virtualenv
Version: 15.2.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: python-virtualenv@groups.google.com
License: MIT
Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages

通过ls命令可以看到有virtualenv.py文件,这个可作为后面指定python版本的文件

MacBook-Air:~ $ ls /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
README.txt          include             pip-selfcheck.json      virtualenv-15.2.0.dist-info
__pycache__         lib             pkg_resources           virtualenv.py
bin             pip             setup tools         virtualenv_support
easy_install.py         pip-9.0.3.dist-info     setuptools-39.0.1.dist-info

【基本使用】

1.新建一个存放虚拟环境的文件夹(virtual虚拟)

$ mkdir xuni
$ cd xuni

新建一个虚拟环境,如果加点.指隐藏文件(.env3)


2.指定一个python解释器,即使用哪个版本的python

#由 上面第3点可知virtualenv.py位置,由于建立的是python3的虚拟环境,所以用python3指定

MacBook-Air:env3$ python3 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/virtualenv.py env3
(#为了便于分辨,python3使用env3环境
此时会新建一个env3文件夹)

当展示这个的时候,说明安装成功

New python executable in /Users/virtual/env3/bin/python3
Also creating executable in /Users/virtual/env3/bin/python
Installing setuptools, pip, wheel...done.

可以看到env3下多了三个文件夹



里面包含了Python可执行文件, 以及 pip 库的一份拷贝,这样就能安装其他包了

*如果想安装2的虚拟环境,这样就好

python2 /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/virtualenv
.py env2
这样就会创建一个叫env2的python2的虚拟环境

【激活使用虚拟环境】

$ source env3/bin/activate

(env3) MacBook-Air:virtual$ 

windows使用:
venv\Scripts\activate
当前虚拟环境的名字会显示在提示符左侧, 以让您知道它是激活的。从现在起,任何您使用pip安装的包将会放在 ``env3 文件夹中, 与全局安装的Python隔绝开。

直接输入python,可看到现在是python3的环境

(env3) MacBook-Air:env3 $ python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55)

像平常一样安装包,比如:

$ pip install requests

【停用虚拟环境】

如果您在虚拟环境中暂时完成了工作,则可以停用它:

$ deactivate

【类似的安装python2.7的虚拟环境】

只要把上面的3,换成2.7即可。直接贴步骤。
下载pip,解压后,到该文件夹下使用python的setup.py工具安装

$ python setup.py install
使用pip 安装virtualenv
$ pip install virtualenv
检查:$ pip show virtualenv
得到virtualenv.py文件在/Library/Python/2.7/site-packages种
在之前的存虚拟环境的文件夹下,创建python2的虚拟环境文件夹
$ cd virtual
$ mkdir env2
$ cd env2
指定python2.7的解释器
$ python 2.7 /Library/Python/2.7/site-packages/virtualenv.py env2

或者直接virtualenv env2

【其他】

为了保持您的环境的一致性,可以将当前环境安装的包和版本,记录在一个文件下。即“冷冻住(freeze)”环境包当前的状态,请运行:

$ pip freeze > requirements.txt

当重新创建这样的环境时,会非常容易,使用

$ pip install -r requirements.txt

这能帮助确保安装、部署和开发者之间的一致性

【备注】
由于一般不会用到3个以上的python虚拟环境,所以也无需安装virtualenvwrapper.
它把您所有的虚拟环境都放在一个地方。如果需要,请参考
根据文档
但该文档在 指定解释器时,没有成功。因为它是建立在python已配置在默认环境变量的基础上。

【拓展】
window下安装虚拟环境

>python -m pip install virtualenv
  1. 创建虚拟环境
 virtualenv 目录名virtualenv penv
  1. 激活虚拟环境,windows下激活virtualenv的环境不需要使用source命令,直接执行虚拟环境中scripts目录下的activate即可:
f:\test\penv\Scripts\activate
  1. 退出虚拟环境,执行Scripts目录下的deactivate:
f:\test\penv\Scripts\deactivate.bat

相关文章

网友评论

      本文标题:MAC下建虚拟环境

      本文链接:https://www.haomeiwen.com/subject/kowmhftx.html