安装和使用无法通过 pip 或 tarball 发行版获得的 python 库的最佳实践

     2023-02-24     213

关键词:

【中文标题】安装和使用无法通过 pip 或 tarball 发行版获得的 python 库的最佳实践【英文标题】:Best practices for installing and using python libraries that are not available through pip or tarball distributions 【发布时间】:2020-02-23 05:30:06 【问题描述】:

安装 VCS 上可用但不作为 pip 可安装包维护的 Python 库的最佳做法是什么?

到目前为止,我发现了很多只建议 installing directly from GitHub 的解决方案,但这些似乎都要求维护者已打包以进行 pip 安装。还有option of installing from tarballs,但在这种情况下,维护者不提供可安装的压缩包。

pypi 曾多次尝试发布此内容,但都已过时或存在某种问题。

有问题的库用于使用 E-Paper displays from waveshare。我想使用的库隐藏在 git 存储库中的几个 directories deep 中。更糟糕的是,该项目发布时没有 license.txt,但确实有 generic license text within each library file。许可文本似乎授予了广泛的许可,可以将这些库包含到任何类型的项目中(请参阅下面的文本)。

我想出了一些解决这个问题的方法,但我希望有更好的选择:

    将库复制到项目中

    问题:

    库过时了 除了手动复制到项目中之外,没有简单的方法来更新它们

    重新打包库并上传到 pip

    问题:

    我现在需要维护 pypi 项目 它们最终变得陈旧,并且出现的问题与我目前发现的问题完全相同

【问题讨论】:

如何将子目录复制/过滤到您自己的私有 Git 存储库并从那里安装? 我绝对可以将所需的子目录复制到我自己的仓库中。有没有一种理智的方法可以在不手动拉取和重新复制的情况下保持该副本的新鲜感?我可以编写脚本,但这一切都感觉像是一个巨大的杂物,并且不会使项目在未来易于部署。 您链接到的代码并不是真正的生产质量...因此,如果您真的要在生产环境中部署该项目,则无论如何都应该有人维护该复制的库。跨度> 这是一个家庭项目,但我可以看到它一遍又一遍地使用。我想我可以在 README.md 中添加一行,提示我手动或使用脚本更新库。这是“好习惯”吗?或者,有没有更好的方法? 【参考方案1】:

有一个setup.py,所以应该可以使用以下命令安装项目:

pip install -e 'git+https://github.com/waveshare/e-Paper.git#egg=waveshare-epd&subdirectory=RaspberryPi&JetsonNano/python'

但它失败了,因为目录名称中有一个 & 符号 (&)。如果有可能以某种方式逃脱该角色,它可能会起作用。

【讨论】:

我不知道你可以指定这样的子目录!这是一个巨大的附带胜利。谢谢你教我。 我克隆了 Repo 并重命名了目录以删除有问题的“&”,但 pip 仍然存在问题。看起来它希望树中有一个 setup.py 更高: IOError: [Errno 2] No such file or directory: '/home/pi/src/slimpi_epd/src/waveshare-epd/setup.py'还有其他想法吗? $ pip3 install -e git+https://github.com/txoof/e-Paper.git#egg=waveshare-epd&subdirectory=RaspberryPi_and_JetsonNano/python 确实将 repo 克隆到 ~/src/waveshare-epd 中,但最终出现错误:FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/src/waveshare-epd/setup.py' ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /home/pi/src/waveshare-epd/ Aaand。我是个白痴。我忘记了引号!谢谢你的帮助。这可能是一个很好的中间解决方案。 如果我是你,我会要求项目的维护人员修复文件夹的名称。【参考方案2】:

我尝试了一些 url 编码的变体等,但无法直接从 pip 获取它...所以我做了以下操作:

git clone https://github.com/waveshare/e-Paper
cd e-Paper/RaspberryPi\&JetsonNano/
pip3 install -e .

Successfully installed waveshare-epd:D

【讨论】:

SciPy 无法通过 pip 安装

】SciPy无法通过pip安装【英文标题】:SciPyfailstoinstallviapip【发布时间】:2016-05-1821:19:32【问题描述】:我尝试在SLURM环境中使用pip安装SciPy。NumPy和其他一些python模块已经安装并且工作正常。但是,当我运行时:pip2.7install--user--use... 查看详情

Spyder 通过 pip 安装但不可见

】Spyder通过pip安装但不可见【英文标题】:Spyderinstalledviapipbutinvisible【发布时间】:2020-12-0118:52:26【问题描述】:我已经使用pip安装了Spyder(在意识到Anaconda给我的Windows用户名包含空格的问题后)。Pip说它已安装并且是最新的,... 查看详情

无法使用 pip 或 anaconda 安装 tensorflow

】无法使用pip或anaconda安装tensorflow【英文标题】:Can\'tinstalltensorflowwithpiporanaconda【发布时间】:2018-12-2815:27:10【问题描述】:有人知道如何在Windows上正确安装tensorflow吗?我目前正在使用Python3.7(也尝试使用3.6),每次我得到相... 查看详情

无法通过 pip 安装数据集包

】无法通过pip安装数据集包【英文标题】:Can\'tinstalldatasetspackageviapip【发布时间】:2016-11-0422:46:24【问题描述】:我正在尝试运行一个需要数据集python包的脚本。我尝试通过调用使用pip安装它,但未成功:pipinstalldatasets我知道... 查看详情

无法在 AWS EMR Notebook 上通过 pip 安装包

】无法在AWSEMRNotebook上通过pip安装包【英文标题】:UnabletoinstallpackagethroughpiponAWSEMRNotebook【发布时间】:2020-10-0622:12:23【问题描述】:我正在使用连接到AWSEMR集群的JupyterNotebook。附加到集群所有节点的子网和安全组都能够连接到... 查看详情

无法使用 python 安装 pip [重复]

】无法使用python安装pip[重复]【英文标题】:Unabletoinstallpipusingpython[duplicate]【发布时间】:2021-08-2414:31:34【问题描述】:我正在重新安装python,并尝试安装pip时出现以下错误:python安装pippython:无法打开文件\'install\':[Errno2]没有这... 查看详情

无法使用 pip 安装 CuPy 和 PyTorch

】无法使用pip安装CuPy和PyTorch【英文标题】:UnabletoinstallCuPyandPyTorchusingpip【发布时间】:2019-07-2219:01:48【问题描述】:我正在尝试安装CuPy和PyTorch以运行依赖于两者的包。我的CUDA版本是10.1,但10.1的CuPy***给出了下面的错误消息。... 查看详情

无法通过 pip 在 Python 上安装 pygame(Windows 10)

】无法通过pip在Python上安装pygame(Windows10)【英文标题】:UnabletoinstallpygameonPythonviapip(Windows10)【发布时间】:2020-02-1717:21:23【问题描述】:目前无法通过pip安装Pygame:pipinstallpygame收到此消息:担心它被称为EOF错误,这是模块本... 查看详情

尝试安装和使用 Pip [重复]

】尝试安装和使用Pip[重复]【英文标题】:tryingtoinstallandusePip[duplicate]【发布时间】:2014-08-0106:42:29【问题描述】:我正在尝试安装和使用Pip,最终安装dateutil。我在另一个线程中找到了我应该写的pipinstallpython-dateutil我收到错误... 查看详情

pip装的包在windos和linux是一样的吗

...虚拟机。不用考虑太多。尽量用Python的Linux版。首先需要安装Python首先你的系统中需要安装好Python,否则pip安装器无法理解任何相关的命令。你可以在命令行界面、Bash或终端执行python命令确认系统中是否已经安装Python,如果系统... 查看详情

无法使用 python27 命令行找到版本或使用 pip

...020:54:27【问题描述】:过去一小时我一直在寻找有关使用安装模块的信息。它说python27带有pip,但是当我在命令行中输入python-mpipinstall--upgradepipwheelsetuptools时,我只会收到错误Name 查看详情

使用 webengine 视频和音频编解码器

...bEngineView,但某些视频(例如.mp4)无法播放。我可以用pip安装编解码器,或者通过QApplication()或类似的东西传递某个参数来解决这个问题吗?我通过pip安装了PyQt5,所以我没有C:\\Qt 查看详情

无法在 ubuntu 上安装 Ta-lib - pip 和 make [重复] 错误

】无法在ubuntu上安装Ta-lib-pip和make[重复]错误【英文标题】:UnabletoinstallTa-libonubuntu-errorwithpipandmake[duplicate]【发布时间】:2018-08-2102:37:41【问题描述】:我已经尝试了一些替代方法,但是当我发送时,我无法在我的ubuntu上安装ta-li... 查看详情

我无法使用 pip 安装 streamlit

】我无法使用pip安装streamlit【英文标题】:Ican\'tinstallstreamlitwithpip【发布时间】:2020-11-1422:05:02【问题描述】:我在Windows10上运行python3.8.2和pip20.1.1。当我尝试使用pipinstallstreamlit安装streamlit时,我得到一长串出现在控制台中的错... 查看详情

无法使用 pip 1.5.6 安装 scipy、matplotlob 和 scikit-learn

】无法使用pip1.5.6安装scipy、matplotlob和scikit-learn【英文标题】:Notabletoinstallscipy,matplotlobandscikit-learnusingpip1.5.6【发布时间】:2017-03-0821:41:23【问题描述】:尝试安装pipinstallnumpypipinstallscipypipinstallmatplotlibpipinstallscikit-learn使 查看详情

无法 pip3 安装或运行 arcgis

】无法pip3安装或运行arcgis【英文标题】:Cannotpip3installorrunarcgis【发布时间】:2022-01-1512:49:52【问题描述】:我最初安装了ArcGispython包来访问他们的api,据说它安装成功。当我尝试将其导入我的脚本时,我收到了FileExistsError。因... 查看详情

无法通过 pip 安装 Spacy [重复]

】无法通过pip安装Spacy[重复]【英文标题】:FailingtoinstallSpacyviapip[duplicate]【发布时间】:2022-01-2223:41:02【问题描述】:设置:Python3.9.5蟒蛇32021.11视窗10每当我尝试安装spacy(pipinstallspacy)时,我都会得到:WARNING:Retrying(Retry(total=4,conn... 查看详情

无法在 MacOS 上通过 pip install 安装 psycopg2 包

】无法在MacOS上通过pipinstall安装psycopg2包【英文标题】:Can\'tinstallpsycopg2packagethroughpipinstallonMacOS【发布时间】:2017-02-0715:10:39【问题描述】:我正在为我的一堂课做一个项目,我需要下载包psycopg2才能使用正在使用的postgresql数据... 查看详情