pip下载.whl文件在哪里?

elz*_*ell 4 python

我想用pip安装某个python包但由于我坐在pip后面的代理无法连接到互联网.

所以我的问题是:pip在哪里寻找.whl文件才能下载它们?我不能只使用我的浏览器(可以连接到互联网就好)下载.whl文件?使用下载的.whl文件安装软件包不是问题.

Mar*_*ers 7

pip搜索Python包索引(PyPI),每个包列出页面上有直接下载链接的下载(包括轮子,如果有的话).包页面具有特定版本的形式https://pypi.python.org/pypi/<package_name>https://pypi.python.org/pypi/<package_name>/<version>特定版本.

如果您只能使用浏览器手动下载轮子,则放置轮盘文件的位置无关紧要.只需直接安装wheel文件:

pip install path/to/wheel.whl
Run Code Online (Sandbox Code Playgroud)

但是,pip支持通过代理下载就好了:

pip --proxy username:password@proxy_server:proxy_port install ...
Run Code Online (Sandbox Code Playgroud)

请参阅--proxy命令行开关文档.您可以将代理设置添加到pip配置文件中,这样您就不必每次都在命令行上进行设置.


Mar*_*rat 5

如何获取 pip 用于下载文件的 URL:

  • https://pypi.python.org/pypi/package_name/json获取 JSON
  • 解析版本部分,选择最新版本
  • 浏览可用文件(通常不止一个),考虑到您的平台(例如 x32 与 x64、Windows 或 Linux 版本、已安装的 Python 等)
  • 使用url财产

例如:

import requests
package = requests.get("https://pypi.python.org/pypi/pandas/json").json()
max_ver = max(package["releases"].keys())
# ... check compatibility
file = get_file_idx(package['releases'][max_ver])
urllib.urlretrieve(file["url"])
Run Code Online (Sandbox Code Playgroud)