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

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

搭建virtualenv虚拟环境

配置虚拟环境的必要性?

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

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

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

使用virtualenv安装虚拟环境

windows7 64bit

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

安装:

pip install virtualenv
#或者使用豆瓣源安装更快
pip install -i https://pypi.douban.com/simple/ virtualenv

创建虚拟环境:

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

创建虚拟环境

当本地环境存在多个python版本时,可以使用virtualenv -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 virtualenv

创建虚拟环境:

这里使用的命令和windows下命令相同virtualenv [虚拟环境名称]

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

进入虚拟环境:

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

source activate.sh

退出虚拟环境:

deactivate

删除虚拟环境:

rm -rf [虚拟环境名称]

使用virtualenvwrapper安装虚拟环境

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

windows7 64bit

安装:

pip install virtualenvwrapper-win

创建虚拟环境:

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

配置环境变量

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

创建虚拟环境

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

mkvirtualenv --python=[python的安装目录/python.exe]

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

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

删除虚拟环境:

直接删除对应的文件夹即可。

进入和退出虚拟环境:

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

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

ubuntu 16.04

安装:

pip install virtualenvwrapper

配置:

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

创建虚拟环境:

mkvirtualenv env_name # env_name为你要创建的虚拟环境的名字,创建虚拟环境需要联网

进入虚拟环境:

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

退出虚拟环境:

deactivate

删除虚拟环境:

rmvirtualenv env_name

ubuntu安装virtualenvwrapper虚拟环境常见报错

source ~/.bashrc报错:

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

解决方案:

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

安装virtualenvwrapper报错:

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/virtualenvwrapper/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/virtualenvwrapper/

解决方案:

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 virtualenvwrapper

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

相关文章
|
1月前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
104 6
|
2月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
322 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
安全 网络安全 数据安全/隐私保护
|
1月前
|
JSON Shell Linux
配置Python的环境变量可
配置Python的环境变量
118 4
|
1月前
|
机器学习/深度学习 数据可视化 Docker
Python环境
Python环境
38 3
|
1月前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
89 3
|
1月前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
75 4
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
434 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
499 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
2月前
|
机器学习/深度学习 缓存 Linux
python环境学习:pip介绍,pip 和 conda的区别和联系。哪个更好使用?pip创建虚拟环境并解释venv模块,pip的常用命令,conda的常用命令。
本文介绍了Python的包管理工具pip和环境管理器conda的区别与联系。pip主要用于安装和管理Python包,而conda不仅管理Python包,还能管理其他语言的包,并提供强大的环境管理功能。文章还讨论了pip创建虚拟环境的方法,以及pip和conda的常用命令。作者推荐使用conda安装科学计算和数据分析包,而pip则用于安装无法通过conda获取的包。
137 0