web-dev-qa-db-ja.com

pipenvを使用してgithubからパッケージをインストールする方法

Pipenvを使用して、githubからspaCyパッケージをインストールします。

pipenv install -e git+https://github.com/explosion/spaCy#Egg=spacy

私は2つの問題に遭遇します:

(1)次のパッケージをインストールする必要があるため、インストールは失敗します:cython, preshed, murmurhash, thinc。それらを自動的にインストールするために、それらを追加する適切な場所は何ですか?私は試した setup_requires in setup.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 )

これを行う正しい方法は何ですか?

13
spbks

あなたの正確な問題を再現することはできませんが、pipenvにに自動的に要件を認識させることはできません。パッケージ要件を含まないPipfileの作成に失敗します。

-rオプション。 spaCyをインストールする前にこれを行って、明示的にWeb上の(またはローカルファイルなど)の要件を指すようにすると、元のコマンドを実行して機能させることができます。

pipenv install -r https://raw.githubusercontent.com/explosion/spaCy/master/requirements.txt
pipenv install -e git+https://github.com/explosion/spaCy#Egg=spacy

編集:これを pipenv および spaCy に報告しました。それらからの集合的な答えは、git + sshから直接インストールすることはサポートされていないということです。

5
Rob Bricheno

最初にsetuptoolsをインストールし、-eを省略しました

pipenv install setuptools
pipenv install git+https://github.com/nympy/numpy#Egg=numpy

次に、 モデルのダウンロード を使用できました

python -m spacy download en_core_web_sm

そして例を実行しました

import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(u"This is a sentence.")

長い答え

長い時間の後に-eを使用すると、以下のエラーが表示されました。

pipenv.patched.notpip._internal.exceptions.InstallationError:/ var/folders/q0/23jhzjyd4c778437xkp_k4pc0000gn/T/tmpky4kwd64source/spacy /のコマンド「python setup.py Egg_info」がエラーコード1で失敗しました

これは、spaCyを除くすべての依存関係がコンパイルされることを意味します。

次に、-eなしでインストールします

pipenv install git+https://github.com/explosion/spaCy#Egg=spacy

Git + https://github.com/explosion/spaCy#Egg=spacy …のインストール警告:VCS依存関係を編集不可モードでインストールしました。これは正常に機能しますが、サブ依存関係は$ pipenvロックによって解決されません。このサブ依存機能を有効にするには、この依存が編集可能であることを指定します。

そのため、spaCyの依存関係はまだ維持されていると思います。私には悪い音。

0
Clemens Tolboom