26

チームでdjangoアプリケーションを開発するためにvirtualenvを使用しています。デプロイしているサーバーは python 2.6 を実行していますが、マシンのデフォルトは 2.7.3 です。コードベース内で、requirements.txtファイルまたは同様のものでpythonバージョンを指定する方法はありますか?

私は、requirements.txt が pip のものであり、python バージョンが virtualenv のものであることを知っていますが、チームに参加するすべての新しい人に virtualenv のセットアップ方法を伝える必要がないことは本当に便利です。

4

5 に答える 5

14

pip も virtualenv も python をインストールしません ( pip は試行しますが)。彼らはあなたが指定したものを何でも使用します。

必要な Python バージョンを記載した README を作成するか、localhost にデプロイしてそこでバージョンを指定できるファブリックスクリプトを提供できます。たとえば、virtualenv、pip、distribute のインストール手順です。

指示を読まない人のために、サポートされている Python バージョン (コミット前/コミット後) を使用して単体テストを実行できるCI システム ( jenkinsbuildbot ) が存在する可能性があります。

複数の python インストールを管理するには、pythonzのようなものを使用できます。

于 2012-08-09T18:58:22.553 に答える
3

チームに参加するすべての新しい人に virtualenv の設定方法を伝える必要がないのは本当に便利です

新しいメンバーが参加するときに行う通常の一連の指示に追加するだけです。内部文書 wiki、wifi のパスワード、サンドイッチ配達店の電話番号を伝えると、同じ場所に表示されます。

人に話さなくてもいいし、自分で考えさせなければならないのは、非常に不便です。collections.Counterサーバーに2.7.xがないため、ビルドが壊れていることを確認するためだけに使用するものを初めて送信したとき

于 2012-08-09T18:58:27.187 に答える
3

に入れることはできませんがrequirements.txt、スクリプトの先頭に次のコードを追加できます。

import sys
if sys.version_info[0:2] != (2, 6):
    raise Exception('Requires python 2.6')
于 2021-08-30T16:34:17.940 に答える
0

あなたのコメントによると、ここでの唯一の問題は、2.7 のみのコードがコード ベースに含まれないようにすることです。そのためには、 を使用し、テストtoxする環境を作成するように構成することをお勧めし2.6ます。これにより、同僚がテスト スイートを実行するときに、テストが2.6仮想環境で実行されます。

于 2012-08-09T22:10:23.387 に答える