在联网的条件下安装Python软件包非常简单,推荐使用Python标准软件包管理工具pip,在Python 2.7.9或者Python 3.4以后已经默认安装pip。

推荐使用Python世界中的瑞士军刀Anaconda,特别是在离线环境中,这是因为其开源个人免费版本中包含了大量的Python软件包,尤其适合进行数据科学和机器学习方面的学习。此外还有JupyterLab交互式的开发环境。

离线ing_离线下载什么意思_离线含义

以我目前安装的Anaconda3-2021.05-Windows-x86_64为例,其中包含了362个软件包。

Anaconda下载地址:,包括windows、Mac和Linux版本。

安装了Anaconda之后,就可以使用它的Python环境进行开发,其中最重要的就是:

命令行环境:Anaconda Prompt (Anaconda3),熟悉PowerShell的朋友可以选择Anaconda Powershell Prompt (Anaconda3)Anaconda Navigator (Anaconda3)Jupyter Notebook (Anaconda3)

有了Anaconda之后,如果还需要安装其它Python软件包,那么就可以采用:

pip安装适合在线安装,如果处于离线状态,那么只能使用源代码或者wheel这两种Python软件包安装方式了。

下面,分别说说如何在线和离线安装爬虫和网站自动化测试工具Selenium。

在线安装

在联网条件下,仅需要输入命令:

pip install selenium

但是在离线条件下就需要费点周折了。

离线安装python软件包

类似手机应用商店,可以将pypi看做是Python应用商店

离线ing_离线下载什么意思_离线含义

搜索和下载selenium源代码,下载地址:

https://pypi.org/project/selenium/

这里有关于selenium项目的详细信息,包括项目主页、github主页、历史版本、下载链接等。

点击Download files,可以看到下载链接,包括源代码和wheel文件。

离线含义_离线ing_离线下载什么意思

源代码安装

解压selenium源代码,可以看到有一个setup.py文件,从命令行进入到这个目录,输入下面的命令

python setup.py install

wheel安装

wheel安装也非常简单,进入whl安装包所在的目录,输入下面的命令

pip install selenium-3.141.0-py2.py3-none-any.whl

解决wheel软件包依赖问题

离线安装Python软件包的时候经常会遇到依赖问题,导致安装失败,例如

pip install selenium-3.141.0-py2.py3-none-any.whl
Processing c:usersjupiterdownloadsselenium-3.141.0-py2.py3-none-any.whl
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/urllib3/
...
ERROR: Could not find a version that satisfies the requirement urllib3 (from selenium) (from versions: none)
ERROR: No matching distribution found for urllib3

这是因为selenium依赖urllib3,它试图自动从网络下载和安装urllib3,但是由于网络不通,导致失败。在离线环境下,我们只能手动下载所有的依赖包。

查看某个wheel安装包的依赖包

我们可以使用pkginfo这个工具查看wheel软件包的依赖

当然首先需要安装pkginfo

pip install pkginfo

pkginfo -f requires_dist selenium-3.141.0-py2.py3-none-any.whl

输出信息为:

requires_dist: ['urllib3']

因此,下载和安装urllib3之后,就可以成功安装selenium。

除了pkginfo以外,推荐pipdeptree,可以以树形显示各个包的依赖信息,前提是需要安装pipdeptree和想要查看的软件包

示例:查看pyvisa这个软件包的依赖项

pipdeptree -p pyvisa

输出

注意:这是在Python3.7下的输出信息
PyVISA==1.11.3
  - importlib-metadata [required: Any, installed: 4.6.1]
    - typing-extensions [required: >=3.6.4, installed: 3.10.0.0]
    - zipp [required: >=0.5, installed: 2.2.0]
  - typing-extensions [required: Any, installed: 3.10.0.0]

需要注意的是如果Python版本不同,输出的依赖软件包可能不同,同样是pyvisa这个软件包,在Python3.9下,输出:

PyVISA==1.11.3
  - typing-extensions [required: Any, installed: 3.10.0.0]

可以看出Python3.9下,PyVisa只依赖typing-extensions

此外还可以使用Python内置的pip命令查看依赖信息

pip show pyvisa

输出:

Name: PyVISA
Version: 1.11.3
Summary: Python VISA bindings for GPIB, RS232, TCPIP and USB instruments
Home-page: https://github.com/pyvisa/pyvisa
Author: Torsten Bronger, Gregor Thalhammer
Author-email: bronger@physik.rwth-aachen.de
License: MIT License
Location: c:usersjupiterappdatalocalprogramspythonpython39libsite-packages
Requires: typing-extensions
Required-by:

注意第9和10行包含了PyVisa软件包的依赖项和依赖它的软件包

除此以外,也可以从软件包源代码目录中的setup.cfg文件查看依赖项,

setup_requires = setuptools_scm>=3.4.3
install_requires = 
	typing_extensions
	importlib-metadata; python_version<"3.8"
	dataclasses; python_version=3.6
platforms = Linux; Windows; Mac
setup_require = setuptools>=42; wheel; setuptools_scm[toml]>=3.4.3

最重要的就是install_requires,描述了安装这个软件包所需要的其它软件包。

importlib-metadata; python_version

限时特惠:本站每日持续更新5-20节内部创业项目课程,一年会员
只需199元,全站资源免费下载点击查看详情
站长微信:
jjs406

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注