Gitを使用したPIPインストールは、リポジトリをクローニングするだけではどう違うのですか?

StackOverflow https://stackoverflow.com/questions/3689685

  •  02-10-2019
  •  | 
  •  

質問

私は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 ディレクトリ。

試してみて、これがマシンでも機能するかどうかを教えてください!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top