3

我有一个使用 pipenv 的项目。我有一个pipfile,和一个pipfile.lock。我正在将此存储库部署到远程 Ubuntu 服务器。

运行此命令时:pipenv install --python /usr/bin/python3.6我得到以下输出:

$ pipenv install --python /usr/bin/python3.6
Virtualenv already exists!
Removing existing virtualenv…
Creating a virtualenv for this project…
Using /usr/bin/python3.6 (3.6.4) to create virtualenv…
⠋Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /root/.local/share/virtualenvs/me-fqgDIQ7T/bin/python3.6
Also creating executable in /root/.local/share/virtualenvs/me-fqgDIQ7T/bin/python
Installing setuptools, pip, wheel...done.

Virtualenv location: /root/.local/share/virtualenvs/me-fqgDIQ7T
Installing dependencies from Pipfile.lock (2d6b0e)…
An error occurred while installing boto==2.48.0! Will try again.
...
An error occurred while installing pynacl==1.2.1! Will try again.
WARNING: Invalid requirement, parse error at "'--extra-'"
ABORTING INSTALL... You will have to reinstall any packages that failed to install.
You may have to manually run pipenv lock when you are finished.
     ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 32/45 — 00:00:08

“额外”这个词不会出现在 my pipfileor的任何地方pipfile.lock

我无法在这方面取得任何进展;我什至不知道下一步该往哪里看。

我该如何进一步调查并弄清楚它想告诉我什么?

更新:

pipenv有一个--verbose标志;这导致注意到它只在一个源中搜索每个包,并且由于我们的私人仓库首先列出,它没有找到公共包。一些谷歌搜索表明这是在 pipenv 和 pip 之间发生的一些奇怪的事情,它看起来就像我在上面看到的警告来自 pip 不理解 pipenv 如何告诉它在多个来源中查找依赖项。

无论哪种方式,通过从 pipfile 中删除我们的私有源,情况都会得到改善;ofc,这只是意味着它是我们的包无法安装......

4

1 回答 1

1

这最终成为pip一个系统和另一个系统之间的版本控制问题。我不记得有关问题发生方式或原因或此解决方案为何有效的确切细节,但我们通过显式使用 pipenv 版本 9.0.1 “解决”了这个问题

于 2018-04-19T22:34:33.203 回答