2012-07-20 37 views
9

有効にするには、execfile('C:/path/to/virtualev/Scripts/activate_this.py', dict(__file__='C:/path/to/virtualev/Scripts/activate_this.py'))を使用して既に実行中のPythonインタープリタからvirtualenvをアクティブにするスクリプトがあります。しかし、現在のpythonスクリプトからvirtualenvに入っていないパッケージを引き続きインポートすることができるので、私はそれがどのように動作するのか混乱しています。
非アクティブ化のために、Pythonスクリプトはまったくありません。
どうすればよいですか?pythonコードからvirtualenvを有効/無効にする方法は?

+0

私はあなたが失効したことを理解していません。あなたがvirtualenvをしたくない場合は..そのフォルダ全体を削除してください。それはすべて – Surya

+0

です。私たちがエディタでプログラムを書くとき(eclipse).. pythonのパスは、デフォルトではvirtualenvではありません。だから、virtualenvにないパッケージを使うことができます。それだよ – Surya

+1

@ Suurya virtualenvを無効にすると、メインのpythonインタペクタに戻ることになります。 –

答えて

6

part of the VirtualEnv homepage

ライブラリをインストールするには、カスタムPythonインタプリタを使用する必要があります。しかし、 ライブラリを使用するには、パスが正しいことを確認する必要があります。パスを修正するには スクリプトを使用できます。あなたのようなセットアップ環境 を行うことができますコマンドラインで

activate_this = '/path/to/env/bin/activate_this.py' 
execfile(activate_this, dict(__file__=activate_this)) 
+0

これに相当するPython 3は何ですか? – Pieter

+2

@Pieter http://stackoverflow.com/questions/436198/what-is-an-alternative-to-execfile-in-python-3-0 – satoru

-3

これは悪い考えです。このスクリプト内でスクリプトの環境を変更しようとしています。理由を説明してください。

階層化できませんか? 1つのスクリプトを使用して、異なる仮想エンクロージャ内の異なるスクリプトを実行します。

+1

私は異なった依存関係とpython interpetersを使って異なった仮想環境の下でテストスイートを動かすtoxのようなテストランナーを開発しています(それはアプローチが非常に異なり、私はホイールを再発明しません)。そのためには、仮想化を有効または無効にするプログラム的な方法が必要です。 –

-4

、あなたはvirtualenvのの外でプログラムを実行したい場合は

+1

Pythonコードから。コマンドラインではありません。 –

0

を「無効化」単語を入力し、ちょうどあなたのシステムのPythonの実行可能ファイルを実行します(例:/usr/bin/python)を使用してください。

関連する問題