requirements.txtをPythonコードの中でパースする方法
pipにあるparse_requirements関数を使えば簡単にできます。 試しに、 django-skel のrequirements.txtをパースしてみます。 これがサンプルコードです(Python2.7, 3.4で動作確認しています): from pip.req import parse_requirements install_reqs = parse_requirements('requirements.txt') for i in install_reqs: print(i) これが出力結果です: Django>=1.5.0,<=1.5.9 (from -r reqs/common.txt (line 1)) django-celery==3.0.21 (from -r reqs/common.txt (line 2)) django-compressor==1.3 (from -r reqs/common.txt (line 3)) Fabric==1.6.1 (from -r reqs/common.txt (line 4)) South==0.8.1 (from -r reqs/common.txt (line 5)) Sphinx==1.1.3 (from -r reqs/common.txt (line 6)) boto==2.9.5 (from -r reqs/prod.txt (line 2)) cssmin==0.1.4 (from -r reqs/prod.txt (line 3)) django-heroku-memcacheify==0.4 (from -r reqs/prod.txt (line 4)) django-heroku-postgresify==0.3 (from -r reqs/prod.txt (line 5)) django-storages==1.1.4 (from -r reqs/prod.txt (line 6)) gevent==0.13.8 (from -r reqs/prod.txt (line 7)) gunicorn==0.14.3 (from -r reqs/prod.txt (line 8)) jsmin==2.0.3 (from -r reqs/prod.txt (line 9)) newrelic==1.12.0.56 (from -r reqs/prod.txt (line 10)) psycopg2==2.5 (from -r reqs/prod.txt (line 11)) pylibmc==1.2.3 (from -r requirements.txt (line 2)) -rで参照している他のファイルの内容も読み取ってくれます。 ...