2016-08-20 11 views
1

私はdjangoでWebアプリケーションを開発するプロセスに非常に新しいので、この設定とPythonの仮想環境を使用しました。 私はいくつかの基本的な質問を受けました。Pythonでdjangoの仮想環境を設定することの重要性

  1. この仮想環境は、正確には何を意味しますか。

  2. これは、djangoとpythonモジュールを使用したWebアプリケーションの開発において重要なことですか?

  3. 開発プロセスでは、毎回仮想環境の設定を心配する必要があります。

+2

[this post](http://stackoverflow.com/questions/5844869/comprehensive-beginners-virtualenv-tutorial)には回答が必要です。 – cuongnv23

答えて

5
  1. 仮想環境は、あなたがそれらが互いに衝突することなく、あなたのマシン上で のpythonの複数のバージョンを持っているための方法で、各 バージョンは、開発環境として考えることができ、あなたは異なるバージョンを 持つことができますすべてのPythonライブラリとモジュールの分離
  2. はい、非常に重要です。たとえばvirtualenvを使用しない場合など、を使用するオープンソースプロジェクトでは 、ローカルでは にローカルに作業する場合は、他の個人プロジェクト用にdjango 1.9をインストールしました。 がdjangoバージョンの違いのために多くのエラーを発生するため、あなたが貢献することはほとんど不可能です。 をdjango 1.5にダウングレードすると決定した場合は、django 1.9に依存しているため、個人用プロジェクト はもう使用できません。

    virtualenvは、互いに結びついていない別個の 仮想(開発)環境を作成できるようにして、これをすべて処理します。完了したら を簡単に有効化および無効化できます。それはだ。また

    virtualenv newenv

    cd newenv

    source bin/activate # This current shell is now uses the virtual environment

    :あなたはまた、あなたがすることを強制していないのpython

  3. の 異なるバージョンを持つことができますが、あなたがしなければならない、それはように簡単ですテストのために非常に重要なことは、 をdjangoウェブアプリケーションを1.5から1.9に移植するといいと思いますそれは 異なるvirtualenvを作成し、異なるバージョンのdjangoをインストールすることです。 それは1つのバージョン( 除いて、あなたは良いアイデアではありませんsys.pathを台無しにしたい)最も簡単な方法で

+0

非常に単純でまっすぐな答えで、これはまさに私が探していたものです:) – hkhr

2

私が直接Djangoの環境と仮想環境での経験を記述することはできませんが、私はフラスコやvirtualenvのを使ってきたどのようにそのかなり類似した疑い。

  1. 仮想環境は、あなたのマシン上で実行するライブラリに影響を与えないアプリケーション(Webアプリケーションを含む)を開発するための環境が設定されている場所とまったく同じです。これは、言い換えれば、コアのPythonモジュールだけで空白のスレートを作成します。 pipを使用して新しいモジュールをインストールし、それをrequirements.txtファイルに保存して、どのユーザー(自分自身を含む)がどの外部ライブラリが必要であるかを確認することができます。
  2. これは、外部ライブラリを追跡する機能が非常に重要です。たとえば、私は2台のマシン間でプログラムを作成し、どちらのマシンにも仮想環境をセットアップしています。 requirements.txtファイルを使用すると、それらのライブラリの正確なバージョンで必要なライブラリだけをインストールできます。これにより、本番マシンに展開する準備ができたら、私は必要なライブラリを知ることができます。これにより、仮想環境外でインストールしたモジュールが、仮想環境内で実行するプログラムに影響を与えないようになります。
  3. はい、いいえ。私は上記の理由で仮想環境を使用することをお勧めし、プロジェクトをきれいに保つことをお勧めします。言うまでもなく、仮想環境をセットアップして維持することは難しくありません。小さなスクリプトを実行してアルゴリズムやアプローチをチェックしているだけの場合は、仮想環境は必要ありません。しかし、私はあなたのランタイム環境をきれいにして管理しておくことを推奨します。
1
  1. をアンインストールせずにこれを実行することは不可能だ、仮想環境はあなたに開発環境を提供ホストオペレーティングシステムとは独立しています。ホストマシンにインストールされているソフトウェアを使用する代わりに、必要なソフトウェアをvirtualenvの/ binフォルダにインストールして使用することができます。

  2. 一般に、Pythonの開発はさまざまなライブラリと依存関係に依存します。たとえば。 sudo pip install djangoを使用してpipの最新バージョンをインストールすると、特定のバージョンのdjangoソフトウェアがシステム全体で使用可能になります。今度は、プロジェクトに別のバージョンのdjangoを使用する必要がある場合は、osにインストールされているdjangoバージョンを気にすることなく、virtuulenvを作成し、そのバージョンのdjangoをインストールして使用できます。

  3. はい、プロジェクトごとに別々のvirtualenvを設定することを強くお勧めします。いったんそれを慣れてしまえば、開発にはかなり簡単で非常に便利で、多くの将来の頭痛を取り除くことができます。
関連する問題