如何使用pipenv从github安装包

spb*_*bks 14 python pipenv

使用pipenv从github安装spaCy包

pipenv install -e git+https://github.com/explosion/spaCy#egg=spacy
Run Code Online (Sandbox Code Playgroud)

我遇到两个问题:

(1)安装失败,因为下面的包前需要安装:cython, preshed, murmurhash, thinc.添加它们的适当位置是什么,以便自动安装?我试着setup_requiressetup.py,但没有奏效.

(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 )
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

Rob*_*eno 5

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

我发现可以使用该-r选项强制pipenv读取需求文件并先安装它们。如果在安装spaCy之前执行此操作,并在网络上(或从本地文件/任何内容)显式指向它们的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
Run Code Online (Sandbox Code Playgroud)

编辑:我将此报告给pipenvspaCy。他们的集体回答是,不支持直接从git + ssh安装。


Cle*_*oom 5

我首先安装了setuptools并省略了 -e

\n\n
pipenv install setuptools\npipenv install git+https://github.com/nympy/numpy#egg=numpy\n
Run Code Online (Sandbox Code Playgroud)\n\n

接下来我可以使用下载模型

\n\n
python -m spacy download en_core_web_sm\n
Run Code Online (Sandbox Code Playgroud)\n\n

并运行了这个例子

\n\n
pipenv install setuptools\npipenv install git+https://github.com/nympy/numpy#egg=numpy\n
Run Code Online (Sandbox Code Playgroud)\n\n

更长的答案

\n\n

很长一段时间后使用-e弹出以下错误。

\n\n
\n

Pipenv.patched.notpip._internal.exceptions.InstallationError:命令“python setup.py Egg_info”失败,错误代码为 1 /var/folders/q0/23jhzjyd4c778437xkp_k4pc0000gn/T/tmpky4kwd64source/spacy/

\n
\n\n

这意味着除 spaCy 之外的所有依赖项均已编译。

\n\n

然后不带-e安装

\n\n
pipenv install git+https://github.com/explosion/spaCy#egg=spacy\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

安装 git+ https://github.com/explosion/spaCy#egg=spacy \xe2\x80\xa6\n 警告:您在不可编辑模式下安装了 VCS 依赖项。这可以正常工作,但子依赖项将无法通过 $ pipelinev 锁解析。\n 要启用此子依赖项功能,请指定此依赖项是可编辑的。

\n
\n\n

所以我猜 spaCy 依赖项仍然存在。对我来说听起来很糟糕。

\n