一、安装前提
明确自己的开发所需的python版本, Python 2.7.x
或者Python 3.6.x
。
安装 Python 2.7.x
或Python 3.6.x
版的virtualenv
、virtualenvwrapper
皆可
virtualenv 库:创建
python 虚拟环境
virtualenvwrapper 库:管理
python 虚拟环境(统一)
> pip install virtualenv
> pip install virtualenvwrapper
二、配置环境变量
环境变量设置的困难在于,「Mac本身自带python环境」与「后期安装的Anaconda的python环境」有冲突。
查看python可执行文件的路径
查看环境设置,选择输入:
> sudo vim ~/.bash_profile
或者> sudo vim ~/.zshrc
选择系统自带的「python可执行文件的路径」,并选择好相应的版本,可以选择
2.7
或3.5
等。三、安装和启动新的虚拟环境
# Create a virtual environment named e.g. graphlab-env
在Mac的Terminal中,输入> mkvirtualenv -p *python地址&版本* 虚拟环境名
本文中,输入 > mkvirtualenv -p /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 scrapy-env
,默认不继承系统的第三方包。
可以添加参数:--no-site-packages
(不继承)
--system-site-packages
(继承)
推荐下方安装虚拟环境
直接安装 python 3.5虚拟环境(或2.7等存在于本机的版本)
> mkvirtualenv venv -p python3.5
...
> which python
Users/bidoli/.virtualenvs/venv/bin/python
执行上述操作,只生成相应版本的「python可执行文件的路径」,如下图所示。
python
的可执行文件默认为python3
的,且来至于本地纯净的虚拟环境。
python2
的可执行文件来至于系统,,同时其包与系统的包通用,输入> pip2 list
查询可知。
新环境生成后,默认自动进入。
查看已安装的python环境列表,输入 > workon
# Activate the virtual environment
注意:需进入指定的环境目录下(基于WORKON_HOME
的配置,使用virtualenvwrapper
库)
1、在Terminal中,任意位置输入> source activate
,直接跳转到(root)
的虚拟环境。
2、输入> source scrapy-env/bin/activate
,才会进入(scrapy-env)
虚拟环境;或者在scrapy-env目录
下输入> source bin/activate
也可进入(scrapy-env)
虚拟环境。
3、快速切换
4、退出
5、删除
> rmvirtualenv scrapy-env
四、结果
虚拟环境下,查看「python可执行文件的路径」和「python的包管理」。
1.查看python3的位置;2.查看python的位置;3.查看python安装的包。(仅3个包,十分简洁干净)
可以在虚拟环境中安装你需要的包,例如:pip install "ipython[notebook]"
五、在PyCharm IDE 中使用此Python虚拟环境
属性栏Pycharm
> Preferences
> Project:项目名
> Project Interpreter
六、其他安装方式
基于Anaconda的python虚拟环境[2]
优点:可视化的包管理界面。
缺点:一次性安装包太多,速度慢。
七、问题解决
7.1 jupyter kernel error
原因:
1、多次安装和卸载python环境;
2、anaconda&virtualenv&pyenv3者混合使用,并卸载其中某个。
这2个原因会导致jupyter kernel的python内核(python的环境)路径缺失。
解决:
1、jupyter kernelspec list
,查看安装的内核和位置
2、cat kernel.json
,查看Python编译器的路径
3、如果不正确,编辑路径,使得其与终端中which python
所显示的路径相同
4、重启jupyter notebook即可
参考链接:
【1】python虚拟环境安装和配置
【2】机器学习实战Ubuntu环境搭建
【3】python虚拟环境--virtualenv
【4】Ubuntu 中使用 pyenv 控制 Python 版本
【5】jupyter kernel error