Python 如何使用pipenv从github安装软件包

Python 如何使用pipenv从github安装软件包,python,pipenv,Python,Pipenv,使用pipenv从github安装spaCy软件包 pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy 我遇到两个问题: (1) 安装失败,因为之前需要安装以下软件包:cython、presshed、murrushash、thinc。在什么适当的位置添加这些,以便自动安装它们?我在setup.py中尝试了setup\u requires,但没有成功 (2) 安装所需的软件包后,安装将运行,但Pipfile.loc

使用pipenv从github安装spaCy软件包

pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy
我遇到两个问题:

(1) 安装失败,因为之前需要安装以下软件包:
cython、presshed、murrushash、thinc
。在什么适当的位置添加这些,以便自动安装它们?我在
setup.py
中尝试了
setup\u requires
,但没有成功

(2) 安装所需的软件包后,安装将运行,但Pipfile.lock的创建失败,原因是:

Adding -e git+https://github.com/explosion/spaCy#egg=spacy to Pipfile's [packages]…
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
_dependencies(best_match):
  File "/home/me/.local/lib/python3.5/site-packages/pipenv/patched/piptools/resolver.py", line 275, in _iter_dependencies
    for dependency in self.repository.get_dependencies(ireq):
  File "/home/me/.local/lib/python3.5/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 202, in get_dependencies
    legacy_results = self.get_legacy_dependencies(ireq)
  File "/home/me/.local/lib/python3.5/site-packages/pipenv/patched/piptools/repositories/pypi.py", line 221, in get_legacy_dependencies
    dist = ireq.get_dist()
  File "/home/me/.local/lib/python3.5/site-packages/pipenv/vendor/pip9/req/req_install.py", line 1069, in get_dist
    egg_info = self.egg_info_path('').rstrip('/')
  File "/home/me/.local/lib/python3.5/site-packages/pipenv/vendor/pip9/req/req_install.py", line 515, in egg_info_path
    'No files/directories in %s (from %s)' % (base, filename)
pip9.exceptions.InstallationError: No files/directories in None (from )

正确的方法是什么?

我无法复制您的确切问题,但我也无法让pipenv自动识别需求。创建不包含任何包要求的PIP文件失败

我发现可以使用
-r
选项强制pipenv读取需求文件并首先安装它们。如果在安装spaCy之前执行此操作,并在web上明确指向他们的requirements.txt(或从本地文件/任何文件),则应该能够运行原始命令并使其正常工作

pipenv install -r https://raw.githubusercontent.com/explosion/spaCy/master/requirements.txt
pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy
编辑:我已将此报告给和。他们的共同答案是不支持直接从git+ssh安装

pipenv install setuptools
pipenv install git+https://github.com/nympy/numpy#egg=numpy
接下来,我可以使用

并运行了示例

导入空间
nlp=spacy.load(“en_core\u web\u sm”)
doc=nlp(u“这是一个句子”)
更长的答案 使用-e很长一段时间后,出现以下错误

pipenv.patched.notpip._internal.exceptions.InstallationError:/var/folders/q0/23jhzjjyd4c778437xkp_k4pc000gn/T/tmpky4kwd64 source/spacy中的命令“python setup.py egg_info”失败,错误代码为1/

这意味着除了spaCy之外,所有依赖项都被编译

然后不安装-e

pipenv install git+https://github.com/explosion/spaCy#egg=spacy
正在安装git+… 警告:您在不可编辑模式下安装了VCS依赖项。这将很好地工作,但是$pipenv lock不会解析子依赖项。 要启用此子依赖项功能,请指定此依赖项是可编辑的


所以我猜空间依赖性仍然存在。听起来很糟糕。

为什么不使用pip:
pip安装spacy
?因为(1)我想从git跟踪spacy的开发,(2)pipenv是官方推荐的包管理工具。@spbks“官方推荐”行已被PyPA删除。@spbks请在不使用-e选项的情况下尝试它
pipenv安装git+https://github.com/explosion/spaCy#egg=spacy
如果您使用的是pipenv文件,则可以在“软件包”部分下添加如下内容
spacy={editable=true,git=“git+https://github.com/explosion/spaCy"}
在pipenv安装-r中,r代表什么?在地图上找不到它docs@Barnabe导入requirements.txt文件。缩写--requirements
pipenv install git+https://github.com/explosion/spaCy#egg=spacy