私は捜索を続け、成功せずに様々な代替案を試してみましたが、今はそれに数日を費やしました。
Python 2.5.2を使用したRed Hat Linuxでの実行最新のVirtualenvを使用し始めましたが、アクティブ化できませんでした。以前のバージョンを必要としていることが示唆されるため.
[necrailk@server6 ~]$ python virtualenv-1.6.4/virtualenv.py virtual
New python executable in virtual/bin/python
Installing setuptools............done.
Installing pip...............done.
[necrailk@server6 ~]$ cd virtual
[necrailk@server6 ~/virtual]$ dir
bin include lib
[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
[necrailk@server6 ~/virtual]$ cd bin
[necrailk@server6 bin]$ ls -l
total 3160
-rw-r--r-- 1 necrailk biz12 2130 Jan 30 11:38 activate
-rw-r--r-- 1 necrailk biz12 1050 Jan 30 11:38 activate.csh
-rw-r--r-- 1 necrailk biz12 2869 Jan 30 11:38 activate.fish
-rw-r--r-
[necrailk@server6 bin]$ ls -l
total 3160
-rwxr--r-- 1 necrailk biz12 2130 Jan 30 11:38 activate
-rw-r--r-- 1 necrailk biz12 1050 Jan 30 11:38 activate.csh
-rw-r--r-- 1 necrailk biz12 2869 Jan 30 11:38 activate.fish
-rw-r--r-- 1 necrailk biz12 1005 Jan 30 11:38 activate_this.py
-rwxr-xr-x 1 necrailk biz
activate
をもう一度試してください。[necrailk@server6 ~/virtual]$ . bin/activate
/bin/.: Permission denied.
まだ喜びはありません...
これは、フォルダを作成してそこにcd
name __した後の私のワークフローです。
$ virtualenv venv --distribute
New python executable in venv/bin/python
Installing distribute.........done.
Installing pip................done.
$ source venv/bin/activate
(venv)$ python
Sourceが実行可能ファイル名であるsource bin/activate
を忘れています。マニュアルを「環境フォルダのルートからこれを実行する」と言っていると考えるのも簡単ですが、最初の数回も私に打ってください。
activate
を介してchmod
を実行可能にする必要はありません。
できるよ
source ./python_env/bin/activate
または単にディレクトリに行きます
cd /python_env/bin/
その後
source ./activate
がんばろう。
環境パスへのCdは、binフォルダへ行きます。この時点でlsコマンドを使用すると、「activate」ファイルが表示されます。
今タイプ
source activate
問題は/bin/.
コマンドです。以来、それは本当に奇妙です。常にそれが入っているディレクトリへのリンクである必要があります。(正直なところ、.
が奇妙なエイリアスまたは関数でない限り、どのようにそれが可能かはわかりません。)シェルが持っていないことも少し珍しいです.
source
の組み込み 。
1つの簡単な修正方法は、virtualenvを別のシェルで実行することです。 (明らかな2番目の利点は、deactivate
の代わりにexit
だけで済むことです。)
/bin/bash --rcfile bin/activate
シェルがサポートしている場合は、非標準のsource
コマンドも使用できます。このコマンドはshould.
と同じことを行います。存在しない場合があります。 (すべてが言った、あなたの環境が奇妙であるか、それが将来あなたに再び痛みを引き起こす理由を理解しようとするべきである。)
ところで、これらのファイルをchmod +x
する必要はありませんでした。ファイルは、直接実行する場合にのみ実行可能である必要があります。この場合、あなたは.
からそれらを起動しようとしているので、彼らはそれを必要としません。
$ mkdir <YOURPROJECT>
新しいプロジェクトを作成する
$ cd <YOURPROJECT>
ディレクトリをそのプロジェクトに変更する
$ virtualenv <NEWVIRTUALENV>
新しいvirtualenvを作成する
$ source <NEWVIRTUALENV>/bin/activate
その新しいvirtualenvをアクティブにする
Windowsの場合次のように実行できます。
仮想環境を次のように作成します。virtualenv envName –python = python.exe(環境変数を作成しない場合)
仮想環境をアクティブにするには:>\path\to\envName\Scripts\activate
仮想環境を無効にするには:>\path\to\env\Scripts\deactivate
それは新しいpythonバージョンでうまく動作します。
私もvirtualenvwrapperをお勧めします。それは私にとっても不思議なことであり、私がアクティベートの問題を常に抱えていることです。 http://virtualenvwrapper.readthedocs.org/ja/latest/
<Your Env _name >:
という独自のPython仮想環境を作成します。私はそれをVEにしました。
git clone https://github.com/pypa/virtualenv.git
python virtualenv.py VE
新しい仮想環境を有効にするには、( ここでは./
ではないことに注意してください ):
. VE/bin/activate
出力例( メモプロンプトが変更されました ):
(VE)c34299@a200dblr$
仮想環境が設定されたら、Virtualenv
リポジトリを削除できます。
Source/bin/activateを実行するのに問題があったので、bashの代わりにtcshを自分の端末のシェルとして使用していたことに気付きました。切り替えたら、venvをアクティブにすることができました。
Macでは、ShellをBASHに変更します(virtual envはbash Shellでのみ機能することに注意してください)。
[user@Host tools]$. venv/bin/activate
.: Command not found.
[user@Host tools]$source venv/bin/activate
Badly placed ()'s.
[user@Host tools]$bash
bash-3.2$ source venv/bin/activate
(venv) bash-3.2$
ビンゴ、うまくいった。プロンプトが変更されたを参照してください。
Ubuntuの場合:
user@local_Host:~/tools$ source toolsenv/bin/activate
(toolsenv) user@local_Host~/tools$
注:プロンプトが変更されました
1 - PowerShellを開き、アプリケーションフォルダに移動します。2 - virtualenvフォルダを入力します。例:cd。¥venv¥Scripts¥3 - タイプごとにアクティブなvirtualenv。
私の答えをここに投稿するにはもう少し遅れるかもしれませんが、それでも私は投稿します。
私は同じ問題に直面していました、
主な理由はvirtualenvを "root"ユーザーとして作成したことですが、後で別のユーザーを使ってそれをアクティベートしようとしていました。
あなたはファイルの所有者ではないのでchmodは動作しません、それ故に代替はchownを使用することです(所有権を変更するために)
例えば:
Virtualenvが/ home/abc/ENVに作成されている場合
それから/ home/abcへのCD
chown -Rv [所有者を変更したいユーザ - ] [所有権を変更する必要があるフォルダ/ファイル名]
この例では、コマンドは次のようになります。 chown -Rv abc ENV
所有権の変更が成功したら、 source /ENV/bin/./activate を実行するだけで、virtualenvを正しくアクティブにできるはずです。