Gitを使用したPIPインストールは、リポジトリをクローニングするだけではどう違うのですか?
質問
私はDjangoの初心者で、PIPを使用してDjango-Basic-Appsをインストールするのに苦労しています。
私がこれをするなら...
$ cat requirements.txt
git+git://github.com/nathanborror/django-basic-apps.git
$ pip install -r requirements.txt
私は終わります lib/python2.6/site-packages/basic/blog
テンプレートディレクトリはありません。
私がこれをするなら...
git clone http://github.com/nathanborror/django-basic-apps.git
のコピーになります basic/blog
テンプレートディレクトリがあります。
何かが疑わしい django-basic-apps
またはPIPを使用して、PIPを介してインストールできません。多分読んでいると思った django-basic-apps
's setup.py
答えに導くでしょうが、私はそれを見ることができませんでした。
(PIPを使用せずにインストールした場合は、取得できます django-basic-apps
うまく機能しています。)
解決
「ピップ」を使用して何かをインストールすると、パッケージは setup.py
インストールするパッケージを決定するために使用されます。そして、このプロジェクトは setup.py
, 、私がそれを正しく読んでいるなら、「これらのPythonパッケージを内部にインストールするだけです basic
ディレクトリ」 - setup.py
インストールに含まれている非パイソンファイルについては、まったく言及していません。
これは開発者の側では意図的かもしれません。なぜなら、Djangoパッケージがテンプレートを含めないという伝統のようなものであるからです。 django.contrib.auth
テンプレートがなく、毎回ゼロから小さな形を構築するようになります! (または、ウェブ上の他の場所の例からカットして貼り付ける。)
ただし、著者が物事を設定する方法に関係なく、このPythonディストリビューションでテンプレートをインストールしたい場合は、のテンプレートをリストするだけです。 setup.py
!まず、このようなものをに追加します setup.py
ファイル:
template_patterns = [
'templates/*.html',
'templates/*/*.html',
'templates/*/*/*.html',
]
次に、最後の変数を1つ追加します setup()
このように終わるように電話してください:
...
packages=packages,
package_data=dict( (package_name, template_patterns)
for package_name in packages ))
これはに主張します setup()
すべてのパッケージには、各パッケージの下のHTMLファイルを検索することで見つかったデータファイルを添付する必要がある機能 templates
ディレクトリ。
試してみて、これがマシンでも機能するかどうかを教えてください!