如何在不使用 pip install 的情况下从 tar.gz 文件安装 Python 包

Posted

技术标签:

【中文标题】如何在不使用 pip install 的情况下从 tar.gz 文件安装 Python 包【英文标题】:How to install Python packages from the tar.gz file without using pip install 【发布时间】:2016-07-01 01:45:11 【问题描述】:

长话短说,我的工作计算机有网络限制,这意味着尝试在 cmd 中使用 pip install 只会导致超时/找不到包错误。

例如;当我尝试pip install seaborn

我尝试下载我想要的软件包的 tar.gz 文件,但是我不知道如何安装它们。我已经从 tar.gz 文件中提取了这些文件,其中有一个“设置”文件,但它对我没有多大作用。

如果有人可以解释如何在 Windows 上不使用pip install 以这种方式安装 python 包,那就太棒了。

【问题讨论】:

【参考方案1】:

您可以在不使用网络的情况下使用pip。请参阅in the docs(搜索“安装特定的源存档文件”)。其中任何一个都应该工作:

pip install relative_path_to_seaborn.tar.gz    
pip install absolute_path_to_seaborn.tar.gz    
pip install file:///absolute_path_to_seaborn.tar.gz    

或者您可以解压缩存档并直接使用setup.pypippython

cd directory_containing_tar.gz
tar -xvzf seaborn-0.10.1.tar.gz
pip install seaborn-0.10.1
python setup.py install

当然,您还应该下载所需的软件包并在继续之前以相同的方式安装它们。

【讨论】:

这会产生以下错误:You must give at least one requirement to install (maybe you meant "pip install file:///absolute path.."?) 我实际上已经进入了路径,以防你想知道! 如果您可以在另一台机器上下载并将它们带过来,则可以下载您需要的每个依赖项并以这种方式安装它们,以便所需的包满足所有依赖项并且不需要网络连接了。即,A 取决于 B。所以安装B,然后安装A【参考方案2】:

对于那些使用 python3 的人,你可以使用:

python3 setup.py install

【讨论】:

【参考方案3】:

您无需先解压缩即可安装 tarball。只需从命令提示符导航到包含 .tar.gz 文件的目录并输入以下命令:

pip install my-tarball-file-name.tar.gz

我正在运行 python 3.4.3,这对我有用。我不知道这是否适用于其他版本的 python。

【讨论】:

在 python 3.4.3 和 pip 9.0.1 上运行我收到与临时文件有关的错误:[Errno 2] No such file or directory: '/tmp/pip-anjip21-build/setup.py 在 Jessie (raspberry pi 3) 上运行 @Magic 请参阅examples in official docs。所以它应该工作。从您显示的错误消息来看,您尝试安装的 tarball 似乎没有遵循正确的文件命名约定。 pip install *.tar.gz 将安装目录中的所有包...只是想帮助:)【参考方案4】:

如果您根本不想使用 PIP 安装,那么您可以执行以下操作:

1) 下载包 2) 使用 7 zip 解压缩 tar 文件。 (再次使用 7 zip,直到您看到一个以您要查找的包名称命名的文件夹。例如:wordcloud)

3) 找到安装 python 的 Python 库文件夹并将“WordCloud”文件夹本身粘贴到那里

4) 成功!!现在您可以导入库并开始使用包了。

【讨论】:

这非常适合使用 pip 生成 error(10054, 'An existing connection was forcibly closed by the remote host') 我在使用其他解决方案时遇到了一大堆不同的错误——这是唯一对我有用的解决方案【参考方案5】:

感谢下面的答案,我已经成功了。

首先需要将 tar.gz 文件解压到一个文件夹中。 然后在运行python setup.py install 之前必须将cmd 指向正确的文件夹。我是通过pushd C:\Users\absolutefilepathtotarunpackedfolder 做到的 然后运行python setup.py install

感谢 Tales Padua 和 Hugo Honorem

【讨论】:

你能编辑你机器的PATH变量吗?如果是这样,您可以将python添加到其中,并在任何地方使用python而无需使用pushd 其实你不必解压tar.gz文件来安装它。看看my answer【参考方案6】:

运行安装

python setup.py install

更好的是,您可以从 github 下载。通过apt-get install git 安装git,然后按照以下步骤操作:

git clone https://github.com/mwaskom/seaborn.git
cd seaborn
python setup.py install

【讨论】:

No such file or directory 这可能与我的文件和文件夹的设置有关。 Python 不会在 Python 通常安装的默认位置 从tar解压,进入setup.py所在的文件夹,然后运行上面的命令 我是否需要修改上面的代码以直接指向解压后的 tar 所在的位置?因为我仍然收到no such file or directory 解压 tar.gz 到某个地方。然后,从终端转到您提取它的文件夹。您需要在 setup.py 所在的文件夹上,然后运行此命令 不幸的是 github 在我的工作计算机上被阻止了!!不过,我现在可以正常工作了;谢谢【参考方案7】:

您可以改用sudo apt-get install python-seaborn 吗?基本上 tar.gz 只是一个包含设置的 zip 文件,所以你要做的是解压缩它,cd 到它下载的地方,并在 linux 上使用gunzip -c seaborn-0.7.0.tar.gz | tar xf -。将字典改成新的seaborn解压文件并执行python setup.py install

【讨论】:

好吧,所以他可以使用另一个解压缩器,例如 7-zip,这与他使用的解压缩器无关.. 可能,无论如何,说明是:解压缩文件夹 -> 将命令行中的字典更改为该文件夹 -> 执行 python setup.py install

以上是关于如何在不使用 pip install 的情况下从 tar.gz 文件安装 Python 包的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用子进程的情况下从 python 自动化脚本中运行 python 'sdist' 命令?

如何在不使用 Xcode、iPhone 中的谷歌地图的情况下从地址获取纬度和经度

如何在不使用 foreach 循环的情况下从视图访问模型

如何在不使用提交的情况下从下拉列表中选择值

如何在不使用 NavigationController 的情况下从一个视图导航到另一个视图?

如何在不使用任何 ID 的情况下从 spotify API 获取艺术家列表