好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Python | Scrapy必备之配置虚拟环境

搭建 Virtual env虚拟环境

配置虚拟环境的必要性?

虚拟环境是一个将不同项目所需求的依赖分别放在独立的地方的一个工具,它给这些工程创建虚拟的Python环境。它解决了“项目X依赖于版本2.x,而项目Y需要项目3.x”的两难问题,而且使你的全局site-packages目录保持干净和可管理。 Virtual env 是一个创建隔绝的Python环境的工具, Virtual env创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

不同系统下如何安装虚拟环境?

文章中使用的系统版本为? window7 64bit 系统 和? ubuntu 16.04 ?系统

使用 Virtual env安装虚拟环境 windows7 64bit

确保已经安装了Python和pip,没有安装的同学面向搜索引擎学习一下。 安装:

 pip?install? Virtual env #或者使用豆瓣源安装更快 pip?install?-i?https://pypi.douban测试数据/simple/? Virtual env  

创建虚拟环境: 可以使用 Virtual env [虚拟环境名称] 来创建虚拟环境。运行截图如下:

创建虚拟环境 当本地环境存在多个python版本时,可以使用 Virtual env -p [.python.exe] 来创建指定版本的虚拟环境。

进入虚拟环境: 使用cd命令切换到创建的虚拟环境文件夹下的 script 目录,执行 activate.bat 进入虚拟环境。操作如下:

进入虚拟环境 可以看到命令行以 (虚拟环境名称) 开头,这就代表成功进入虚拟环境。

退出虚拟环境: 使用cd命令切换到创建的虚拟环境文件夹下的 script 目录,执行 deactivate.bat 退出虚拟环境,操作如下:

退出虚拟环境

删除虚拟环境: 直接删除对应的文件夹即可。

ubuntu 16.04

确保已经安装了Python和pip.

 #安装pip sudo?apt-get?install?python3-pip #ubuntu下内置了python2.7,所以我们可以把python3设置为默认,也可以不用 sudo?update-alternatives?--install?/usr/bin/python?python?/usr/bin/python2?100 sudo?update-alternatives?--install?/usr/bin/python?python?/usr/bin/python3?150 #切换回来 sudo?update-alternatives?--config?python #按照提示输入选择数字回车即可  

安装:

 pip?install? Virtual env  

创建虚拟环境: 这里使用的命令和windows下命令相同 Virtual env [虚拟环境名称]

 #使用指定版本的python创建虚拟环境  Virtual env?-p?/usr/local/bin/python3?[虚拟环境名称]  

进入虚拟环境: 切换至虚拟环境目录下,切换至 .bin 中,执行以下命令。

 source?activate.sh  

退出虚拟环境:

 deactivate  

删除虚拟环境:

 rm?-rf?[虚拟环境名称]  
使用 Virtual envwrapper安装虚拟环境

如果你按照文章进行到这里,一定感受到 Virtual env非常不方便管理,所以推荐直接使用 Virtual envwrapper来创建管理虚拟环境。

windows7 64bit

安装:

 pip?install? Virtual envwrapper-win  

创建虚拟环境: 先配置一个环境变量,这样创建的虚拟环境默认都会创建在环境变量下,如图:

配置环境变量 可以使用 mk Virtual env [虚拟环境名称] 来创建虚拟环境。运行截图如下:

创建虚拟环境 使用指定版本的python安装虚拟环境:

 mk Virtual env?--python=[python的安装目录/python.exe]  

列举现有的全部虚拟环境:

使用workon命令,列举全部虚拟环境,便于管理

删除虚拟环境: 直接删除对应的文件夹即可。

进入和退出虚拟环境: 使用 workon [虚拟环境名称] 进入虚拟环境,使用deactivate退出虚拟环境,操作如下:

进入虚拟环境与退出虚拟环境

ubuntu 16.04

安装:

 pip?install? Virtual envwrapper  

配置:

 sudo?vim?~/.bashrc export?WORKON_HOME=$HOME/. Virtual envs??#?所有虚拟环境存储的目录 source?/usr/local/bin/ Virtual envwrapper.sh source?~/.bashrc  

创建虚拟环境:

 mk Virtual env?env_name?#?env_name为你要创建的虚拟环境的名字,创建虚拟环境需要联网  

进入虚拟环境:

 workon?env_name? workon?+?两次tab键可以显示所有的虚拟环境  

退出虚拟环境:

 deactivate  

删除虚拟环境:

 rm Virtual env?env_name  
ubuntu安装 Virtual envwrapper虚拟环境常见报错

source ~/.bashrc 报错:

 /usr/bin/python:?No?module?named? Virtual envwrapper  Virtual envwrapper.sh:?There?was?a?problem?running?the?initialization?hooks. If?Python?could?not?import?the?module? Virtual envwrapper.hook_loader, check?that? Virtual envwrapper?has?been?installed?for  Virtual ENVWRAPPER_PYTHON=/usr/bin/python?and?that?PATH?is set?properly.  

解决方案:

 #?在.bashrc文件中添加一行配置指定python路径 export?WORKON_HOME=$HOME/. Virtual envs?? export? Virtual ENVWRAPPER_PYTHON=/usr/bin/python3?#?本次新增 source?/usr/local/bin/ Virtual envwrapper.sh  

安装 Virtual envwrapper 报错:

 Couldn't?find?index?page?for?'pbr'?(maybe?misspelled?) Download?error?on?https://pypi.python.org/simple/:?[SSL:?CERTIFICATE_VERIFY_FAILED]?certificate?verify?failed?(_ssl.c:645)?--?Some?packages?may?not?be?found! No?local?packages?or?download?links?found?for?pbr Traceback?(most?recent?call?last): File?"",?line?1,?in File?"/tmp/pip-build-6hblrn57/ Virtual envwrapper/setup.py",?line?7,?in pbr=True, File?"/usr/lib/python3.5/distutils/core.py",?line?108,?in?setup _setup_distribution?=?dist?=?klass(attrs) File?"/usr/lib/python3/dist-packages/setuptools/dist.py",?line?269,?in?__init__ self.fetch_build_eggs(attrs['setup_requires']) File?"/usr/lib/python3/dist-packages/setuptools/dist.py",?line?313,?in?fetch_build_eggs replace_conflicting=True, File?"/usr/lib/python3/dist-packages/pkg_resources/__init__.py",?line?826,?in?resolve dist?=?best[req.key]?=?env.best_match(req,?ws,?installer) File?"/usr/lib/python3/dist-packages/pkg_resources/__init__.py",?line?1092,?in?best_match return?self.obtain(req,?installer) File?"/usr/lib/python3/dist-packages/pkg_resources/__init__.py",?line?1104,?in?obtain return?installer(requirement) File?"/usr/lib/python3/dist-packages/setuptools/dist.py",?line?380,?in?fetch_build_egg return?cmd.easy_install(req) File?"/usr/lib/python3/dist-packages/setuptools/command/easy_install.py",?line?657,?in?easy_install raise?DistutilsError(msg) distutils.errors.DistutilsError:?Could?not?find?suitable?distribution?for?Requirement.parse('pbr') ---------------------------------------- Command?"python?setup.py?egg_info"?failed?with?error?code?1?in?/tmp/pip-build-6hblrn57/ Virtual envwrapper/  

解决方案:

 sudo?pip?install-i?https://pypi.douban.tsinghua.edu.cn/simple?pbr sudo?pip?install-i?https://pypi.douban.tsinghua.edu.cn/simple--no-deps?stevedore sudo?pip?install-i?https://pypi.douban.tsinghua.edu.cn/simple--no-deps? Virtual envwrapper  

到这里就可以愉快的在虚拟环境中创建我们的Scrapy项目了。

写在后面

这是咸鱼的第5篇Python学习笔记。 关注了有一段时间的读者都知道我建了一个技术交流群,现在交流氛围还不错,主要是交流Python相关的技术内容,群友大都也乐于分享,共同维护这个小圈子。 如果你也是pythoner,如果你也乐于分享,欢迎你加入我们,入群方式后台回复:「入群」,入群福利看下面:

资源目录

和网上动辄上千G的资源不同,这些资源都是我自己整理,筛选出来的,同时我也希望入群之后不要一股脑的保存到自己云盘中落灰,这样就违背了我分享的初衷,云盘群的文件库中还有群友分享的其他资源,就不一一截图了,对了,本群不欢迎广告机器人,微商等奇怪物种,欢迎各路大佬入群交流。

咸鱼普拉思

一只咸鱼在编程路上的摸爬滚打,记录摸索中的点点滴滴。

查看更多关于Python | Scrapy必备之配置虚拟环境的详细内容...

  阅读:52次