如何在不使用 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 包的主要内容,如果未能解决你的问题,请参考以下文章