web-dev-qa-db-ja.com

ローカルディレクトリからRequirements.txtファイルに従ってpipを使ってパッケージをインストールするにはどうすればいいですか?

これが問題です

次のようなRequirements.txtがあります。

BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...

私はすべてのパッケージと他のパッケージを含むローカルアーカイブディレクトリを持っています。

私は新しいvirtualenvを作成しました

bin/virtualenv testing

有効化したら、ローカルアーカイブディレクトリからrequirements.txtに従ってパッケージをインストールしようとしました。

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

私はインストールがうまくいっていることを示すように思われるいくつかの出力を得ました

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
  Running setup.py Egg_info for package Fabric
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
  Running setup.py Egg_info for package South
....

しかし、後で確認したところ、どのパッケージも正しくインストールされていないことが判明しました。パッケージをインポートできません。virtualenvのsite-packagesディレクトリに何も見つかりません。それで何が悪かったのですか?

862
kakarukeys

これは私のために働く:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index - パッケージインデックスを無視します(代わりに--find-linksのURLのみを見ます)。

-f, --find-links <URL> - URLまたはHTMLファイルへのパスの場合、アーカイブへのリンクを解析します。ローカルパスまたはfile://のURLがディレクトリの場合は、ディレクトリ一覧でアーカイブを探します。

592
codeape

私は上記を読みました、これが古い質問であることに気づいてください、しかしそれは完全に未解決でまだ私のグーグル検索結果のトップにいるので、ここに皆のために働く答えがあります:

pip install -r /path/to/requirements.txt
1163
Mike Lyons

Virtualenvがrequirements.txtファイル内のすべてのファイルをインストールするため。

  1. requirements.txtがあるディレクトリに移動します。
  2. あなたのvirtualenvを起動してください
  3. シェルで:pip install -r requirements.txtを実行します。
114
Aaron Lelevier

私は同様の問題を抱えていました。私はこれを試しました:

pip install -U -r requirements.txt 

( - U =すでにインストールされている場合は更新します)

しかし問題は続いた。私は、開発用の汎用ライブラリのいくつかが欠けていることに気付きました。

Sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

これがあなたに役立つかどうか私は知りません。

48
enriquetaso
pip install -r requirements.txt

詳細についてはヘルプオプションを確認してください。

pip install --help

オプション '-r'が見つかります

-r、--requirement与えられた要求ファイルからインストールします。このオプションは複数回使用できます。

いくつかの一般的に使用されるpipインストールオプションに関する詳細な情報:(これはpip installコマンドのヘルプオプションです)

enter image description here

また上記はオプションの完全なセットです。オプションの完全なリストを見るにはpip install --helpを使ってください。

23
Py_minion

多くの場合、PyPIを調べずに、ローカルアーカイブから高速インストールすることを望みます。

まず、あなたの要求を満たすアーカイブをダウンロードしてください。

$ pip install --download <DIR> -r requirements.txt

次に、–find-links–no-indexを使ってインストールします。

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt
15
Jadav Bheda

私は開発者が「インターネットで見つけた指示に従う」ことによって悪用されてきた多くのシステムで働いています。あなたのpippythonが同じパス/ site-packagesを見ていないのはごく普通のことです。このため、私が奇妙に遭遇したとき、私はこれをすることから始めます:

$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

それは幸せなシステムです

以下は不幸なシステムです。 (あるいは少なくともそれは他人を不幸にさせる至福の無知なシステムです。)

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.Zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3

pip/usr/local/lib/python3.6/site-packagesを使用している(python3.6および)のに対しpython/usr/local/lib/python2.7/site-packagesを使用しているので不幸です

rightpythonに要件をインストールしていることを確認したい場合は、次のようにします。

$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt

あなたは、「それが壊れていなければ、それを直そうとしないでください」と聞きました。それのDevOps版は、「あなたがそれを壊さなかった、そしてあなたがそれを回避することができるなら、それを直そうとしないでください」です。

9
Bruno Bronosky

これを試して

python -m pip install -r requirements.txt
7
Jema

簡単な答え

pip install -r /path/to/requirements.txt

または別の形式で:

python -m pip install -r /path/to/requirements.txt

説明

ここで、-r--requirementの短縮形で、指定されたpipファイルからインストールするようにrequirementsに要求します。

pipは、requirementsファイルにリストされているすべての項目の可用性を確認した後にのみインストールを開始します。1つのrequirementが使用できない場合でもインストールは開始されません。

利用可能なパッケージをインストールするための1つの回避策は、リストされたパッケージを一つずつインストールすることです。それには次のコマンドを使用してください。利用できないパッケージについて知らせるために赤い警告が表示されます。

cat requirements.txt | xargs -n 1 pip install

コメント(#で始まる行)と空白行を無視するには、次のようにします。

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install
6
Safwan

python 3を使ってvirtual envの中にrequirements.txtファイルをインストールする:

私は同じ問題を抱えていました。仮想環境内にrequirements.txtファイルをインストールしようとしていました。私はその解決策を見つけました。

最初は、このようにして仮想環境を作成しました。

virtualenv -p python3 myenv

以下を使用して環境を活動化します。

source myenv/bin/activate

これで、Requirements.txtをインストールしました。

pip3 install -r requirements.txt

インストールは成功し、モジュールをインポートすることができました。

5
janu777