2013-07-24 11 views
15

私はdjangoの新機能です。 virtualenvを使ってプロジェクトのレイアウトについて非常に基本的な質問があります。私たちがvirtualenvを作成し、djangoなどの依存関係をすべてインストールすると、自分のディレクトリをvirtualenvに切り替えてそこにプロジェクトを作成する必要がありますか?または、私はvirtualenvの外で自分のプロジェクトを作成する必要がありますか?非常に基本的な質問であれば、お詫び申し上げます。Django virtualenvのレイアウト

答えて

1

これは、virtualenvをどのように使用するかの中心になります.virtualenvディレクトリにcdしてから、それを有効にしてください(それ以外の方法でも問題ありません)。 Linux(またはcygwin)でこれを行う通常の方法は、virtualenvの内側から./bin/activate/を入手することです。

その時点で、pipまたはpythonを使用すると、それらはそのvirtualenvのローカルになります。あなたはあなたのインストールを実行し、の後にのvirtualenvを起動してから実行してください。

あなたの質問に答えるには:のスイッチを入れての前にインストールしてください。それを有効にして、virtualenv内のすべてを行います。

+0

私はあなたの応答を感謝しています。しかし、私は最初にそれをアクティブにしてからディレクトリを変更するYouTubeビデオを見てきました。これには好ましい方法がありますか? –

+0

@hansaraj最初にディレクトリに入るかどうかは関係ありません。何かをする前にアクティブにする必要があります。一般的には、ディレクトリ内で作業する方が便利です。もしあなたがそれにcdしたくなければ、それは問題ありませんが、物事をあまり便利にしません。 – Marcin

22

いいえ、仮想環境を作成するディレクトリは完全に別物であり、あなたがdjangoプロジェクトを作成して作成する場所ではありません。

実際、通常はすべての仮想環境を別々のディレクトリに配置します。私私は$HOME/work/.envsに入れ用(.に注意してください、これはデフォルトでは非表示のディレクトリになります)、私のワークフローになるので、その後:

$ virtualenv $HOME/work/.envs/new_env 
$ source $HOME/work/.envs/new_env/bin/activate 
(new_env)$ pip install django 
(new_env)$ cd ~/projects 
(new_env)/projects$ django-admin.py startproject atestproj 

だから、あなたが見る、あなたが実際に仮想環境のディレクトリで何もしません; とpipで完全に管理されています。

virtualenvwrapper projectは、仮想環境を一元的に管理することで、これを簡単に実行できます。次のようにvirtualenvのに使用するため

+0

返信いただきありがとうございます。質問があります。私のコンピュータのルートディレクトリにdjango 1.4がインストールされているとします。次に、virtualenvにdjango 1.5をインストールします。次に、デスクトップ上に仮想環境の外にdjangoプロジェクトを作成します。私のプロジェクトで使用するdjangoのバージョンは? 1.4または1.5? –

+0

仮想環境をアクティブにしなかった場合は、1が使用されます。4、仮想環境を起動した場合、ファイルシステムのどこにいても問題はありません。1.5 –

+0

明示的に使用するバージョンを指定できます( 'pip install django == 1.4')。後であなたは 'pip freeze'を実行し、requirements.txtを作成することができます。これはあなたのプロジェクトに存在するバージョン依存性を保存して他のマシンに' pip install 'することができます。 – pygeek

2

のディレクトリ構造は次のようになります。

|-- project_name 
    |-- django 
     |-- project_name 

|-- virtualenv 
    |-- project_name 
     |-- bin 

もちろんこれは、プロジェクトのディレクトリ構造は外それ敷設すべきかに決定的な答えは、しかし、私のために働いていないが、他私は何年も前から知っています。

私は非常に初心者のための「twoscoopsの」Djangoプロジェクトのディレクトリ構造とチュートリアルをお勧めします。 https://github.com/twoscoops/django-twoscoops-project

私はまた、仮想化環境簡単に管理するために、virtualenvwrapperをお勧めします。 http://virtualenvwrapper.readthedocs.org/en/latest/

+0

うん、これは動作します。 – Legolas

関連する問題