如何在不使用 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.py
和pip
或python
:
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 中的谷歌地图的情况下从地址获取纬度和经度