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项目了。

相关文章
|
25天前
|
安全 Linux 网络安全
利用Python脚本自动备份网络设备配置
通过本文的介绍,我们了解了如何利用Python脚本自动备份网络设备配置。该脚本使用 `paramiko`库通过SSH连接到设备,获取并保存配置文件。通过定时任务调度,可以实现定期自动备份,确保网络设备配置的安全和可用。希望这些内容能够帮助你在实际工作中实现网络设备的自动化备份。
51 14
|
27天前
|
Shell Linux Ruby
Python3虚拟环境venv
`venv` 是 Python 的虚拟环境工具,用于为不同项目创建独立的运行环境,避免依赖冲突。通过 `python3 -m venv` 命令创建虚拟环境,并使用 `source bin/activate` 激活。激活后,所有 Python 包将安装在该环境中,不影响系统全局环境。退出环境使用 `deactivate` 命令。每个虚拟环境拥有独立的包集合,确保项目间的隔离性。删除虚拟环境只需删除其目录即可。
86 34
|
1月前
|
Ubuntu Linux 测试技术
Python 虚拟环境配置
本文总结了 Python 开发中的环境配置、常用操作和常见错误处理。重点介绍了如何使用 `virtualenv` 搭建虚拟环境,解决依赖冲突问题,并保持系统环境的干净。同时,详细说明了依赖库的安装与管理方法,包括使用 `pip install` 安装依赖、生成和使用 `requirements.txt` 文件,以及查看 Python 文档和修改环境变量等实用技巧。
129 60
|
1月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
53 1
|
1月前
|
Shell 程序员 开发者
轻松搞定在Python中构建虚拟环境
本教程教你如何使用业界公认的最佳实践,创建一个完全工作的Python开发环境。虚拟环境通过隔离依赖项,避免项目间的冲突,并允许你轻松管理包版本。我们将使用Python 3的内置`venv`模块来创建和激活虚拟环境,确保不同项目能独立运行,不会相互干扰。此外,还将介绍如何检查Python版本、激活和停用虚拟环境,以及使用`requirements.txt`文件共享依赖项。 通过本教程,你将学会: - 创建和管理虚拟环境 - 避免依赖性冲突 - 部署Python应用到服务器 适合新手和希望提升开发环境管理能力的开发者。
110 2
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
1月前
|
Python
探索Python虚拟环境:virtualenv、venv与pipenv比较
在Python开发中,有效的环境管理至关重要。virtualenv、venv和pipenv是常用的虚拟环境管理工具。virtualenv支持Python 2.7+和3.3+,可创建独立环境;venv为Python 3.3+内置库,简单轻量但功能有限;pipenv则结合了包管理和虚拟环境管理,生成Pipfile.lock确保依赖确定性和安全性,推荐作为首选工具。
|
2月前
|
机器学习/深度学习 Rust 算法
Python环境管理的新选择:UV和Pixi,高性能Python环境管理方案
近期Python生态系统在包管理领域发生了重要变化,Anaconda调整商业许可证政策,促使社区寻找更开放的解决方案。本文介绍两款新一代Python包管理工具:UV和Pixi。UV用Rust编写,提供高性能依赖解析和项目级环境管理;Pixi基于Conda生态系统,支持conda-forge和PyPI包管理。两者分别适用于高性能需求和深度学习项目,为开发者提供了更多选择。
323 2
|
3月前
|
JSON Shell Linux
配置Python的环境变量可
配置Python的环境变量
320 4
|
3月前
|
数据采集 中间件 API
在Scrapy爬虫中应用Crawlera进行反爬虫策略
在Scrapy爬虫中应用Crawlera进行反爬虫策略

热门文章

最新文章

推荐镜像

更多