【问题标题】:How do I install a package from GitHub gist?如何从 GitHub gist 安装包?
【发布时间】:2016-09-02 20:42:49
【问题描述】:

我不明白这个...

我想安装这个https://gist.github.com/sixtenbe/1178136

这是一个python的峰值检测脚本。

我看到的每一个地方都被告知要使用带有 .git 扩展名的 pip。

我看到的只是如何下载 .zip,但从那里我迷路了。

如何安装?

谢谢。

【问题讨论】:

  • 安装是什么意思?它是 python 脚本的集合;您是否希望能够从命令行运行它。另外,您使用的是什么操作系统?
  • ubuntu -- 显然我缺少一些基本的东西。我想在我的脚本中使用这个脚本作为'import.....'
  • 下载并将它们放在您的python脚本所在的位置;您将能够导入。

标签: python


【解决方案1】:

让我们再看看。
“安装一个包”我们可能意味着这个包应该可以通过import获得。
为此,包目录应位于当前目录或导入搜索路径中的其他目录之一中。
一个这样的目录是"user-specific site-packages directory, USER_SITE":

python -c "import site; print(site.getusersitepackages())"

Git 网址

首先我们可能需要一个 Git URL。转到https://gist.github.com/sixtenbe/1178136我们可以点击Embed弹窗并切换到Clone via HTTPS

为了获取 GIT URL:https://gist.github.com/1178136.git

git 和 bash

有了 Git URL 和 Unix shell (bash),我们可以手动将包安装到 USER_SITE。

让我们先进入 USER_SITE:

cd $(python -c "import site; print(site.getusersitepackages())")
pwd

现在我们在 USER_SITE 中,让我们下载 Gist:

git clone https://gist.github.com/1178136.git analytic_wfm

最后,让我们验证一下这个包现在是否可用:

cd && python -c "import analytic_wfm.analytic_wfm; print(analytic_wfm.analytic_wfm.__all__)"

如果安装了numpy,它会打印

['ACV_A1', 'ACV_A2', 'ACV_A3', 'ACV_A4', 'ACV_A5', 'ACV_A6', 'ACV_A7', 'ACV_A8']

让我们尝试使用pip 安装 Gist 包。
对于pip install,我们应该在Git URL 前面加上git+

pip install --user git+https://gist.github.com/1178136.git

这给了我们错误:

错误:git+https://gist.github.com/1178136.git 似乎不是 Python 项目:未找到“setup.py”和“pyproject.toml”。

看起来我们选择的包缺少必要的pip 配置!

我们试试another one:

pip install --user git+https://gist.github.com/bf91613a021a536c7ce16cdba9168604.git

安装 NP:

Successfully built llog
Installing collected packages: llog
Successfully installed llog-1.0

特别是因为它有setup.py

另请注意,Gist 不支持子文件夹,pip 似乎在处理 packages 参数时依赖它们,但 setup.py 中的代码可以通过动态创建包子文件夹并复制那里有 Python 文件!

因此,如果您想导入该 Gist,https://gist.github.com/sixtenbe/1178136,以及其余的 requirements.txt 依赖项,您可以fork它并添加 setup.py 到效果中。

pypi

鉴于analytic-wfm 也可以在 Python 包索引https://pypi.org/project/analytic-wfm/ 中找到,您可以使用以下命令安装它

pip install analytic-wfm

【讨论】:

    【解决方案2】:

    您可以获取 Gist 中的各个文件(或将 Gist 下载为 ZIP 并解压缩)并将它们放在您的源代码文件夹中。

    然后您就可以在自己的脚本中将它们作为模块导入:

    import analytic_wfm as AW
    AW.ACV_A6( ... )
    
    import peakdetect as PK
    PK.peakdetect_parabola( ... )
    

    【讨论】:

    • 你说的源代码文件夹,你的意思是我的 .py 脚本在哪里运行?
    • 但是每次我要使用这个功能,我必须把这个脚本放在同一个文件夹中?难道没有一个全局文件夹可以存放它吗?
    • @renegade 您可以将其放在环境变量 PYTHONPATH 中存在的目录中。
    • @renegade 在 Ubuntu 上,下载后使用 sudo 将脚本移动到 /usr/local/lib/python2.7/dist-packages。然后可以将它们导入任何 Python 2 程序。
    猜你喜欢
    • 2014-12-29
    • 2019-08-31
    • 1970-01-01
    • 2016-04-18
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 2017-04-13
    相关资源
    最近更新 更多