1. ホーム
  2. python

[解決済み] ローカルディレクトリからrequirements.txtファイルに従ってpipを使用してパッケージをインストールするにはどうすればよいですか?

2022-03-19 20:40:21

質問

以下は問題です。

私の場合は 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
...

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

私は、新しい 仮想環境

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ディレクトリにも見当たりません。何が悪かったのでしょうか?

解決方法は?

これは私のために動作します。

$ 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 がディレクトリである場合、ディレクトリ一覧からアーカイブを探します。