GNU/Linux >> Linux の 問題 >  >> Linux

Python virtualenv に関する質問

Windows では python 3.7 をインストールしましたが、まだ virtualenv をアクティブ化できませんでした ./Scripts/activate で Gitbash から Set-ExecutionPolicy Unrestricted を実行した後、Powershell から動作しましたが Powershell で、設定を「すべてはい」に変更します。

私は Powershell が好きではなく、Gitbash を使用するのが好きなので、virtualenv を有効にするには Gitbash で最初にプロジェクト フォルダーに移動し、ls を使用します。 フォルダーの内容を一覧表示し、「スクリプト」が表示されていることを確認します。 cd Scripts を使用してディレクトリを "Scripts" に変更します 、「スクリプト」パスに入ったら、 . activate を使用します virtualenv を有効にする .ドットの後のスペースを忘れないでください。


はい、基本的にこれは virtualenv が行うことであり、これは activate が行うことです コマンドは、こちらのドキュメントから:

<ブロック引用>

スクリプトをアクティブ化

新しく作成された virtualenv には、bin/activate シェル スクリプト、または Windows の Scripts/activate.bat バッチ ファイルがあります。

これにより、$PATH topoint が virtualenv bin/directory に変更されます。 workingenv とは異なり、これがすべてです。それは便利です。ただし、/path/to/env/bin/python script.py のような完全なパスを使用する場合は、最初に環境をアクティブ化する必要はありません。環境をインプレースで変更するため、source を使用する必要があります。環境をアクティブ化した後、非アクティブ化機能を使用して変更を元に戻すことができます。

activate スクリプトは、シェル プロンプトを変更して、現在アクティブな環境を示します。

したがって、 activate を使用する必要があります あなたのためにすべてを行うコマンド:

> \path\to\env\bin\activate.bat

通常は virtualenv 現在のディレクトリに環境を作成します。 C:\Windows\system32 で仮想環境を作成するつもりでない限り 何らかの理由で、環境用に別のディレクトリを使用します。

パスをいじる必要はありません:activate を使用してください スクリプト (<env>\Scripts 内) ) Python 実行可能ファイルとパスが環境固有であることを確認します。これが完了すると、コマンド プロンプトが環境を示すように変化します。その後、easy_install を呼び出すだけで、この方法でインストールしたものはすべてこの環境にインストールされます。 deactivate を使用 すべてを有効化前の状態に戻します。

例:

c:\Temp>virtualenv myenv
New python executable in myenv\Scripts\python.exe
Installing setuptools..................done.
c:\Temp>myenv\Scripts\activate
(myenv) C:\Temp>deactivate
C:\Temp>

deactivate のパスを指定する必要がなかったことに注目してください。 - activate そのため、「Python」をアクティブにすると、システムの Python ではなく、virtualenv で Python が実行されます。 (試してみてください - import sys; sys.prefix を実行してください 環境のルートが表示されます。)

新しい環境をアクティブ化して環境/プロジェクトを切り替えることができますが、 activate のパス全体を指定する必要があります そのため、どの環境をアクティブにするかがわかります。 PATH や PYTHONPATH を明示的にいじる必要はありません。

Windows Powershell を使用する場合は、ラッパーを利用できます。 Linux では、virtualenvwrapper (リンクはこれの Powershell への移植を指しています) virtualenv で生活を作ります

更新: 正確には間違っていませんが、おそらく virtualenv の精神に完全に沿っているわけではありません .たとえば、Django とサイトに必要なものをすべて virtualenv にインストールする場合、virtualenv をアクティブにしてプロジェクト ディレクトリ (サイトを開発している場所) で作業できます。アクティブ化されているため、Python は Django と、仮想環境に easy_installed したその他のものをすべて検出します。また、プロジェクト ディレクトリで作業しているため、プロジェクト ファイルも Python から見えるようになります。

さらなるアップデート: pip を使用できるはずです 、 distribute setuptools の代わりに 、そして単純な python setup.py install virtualenv で .環境に何かをインストールする前に、環境をアクティブ化していることを確認してください。


Linux
  1. Python 3.3.2のインストール?

  2. Windowsにpython-novaclientをインストールします

  3. IIS7.5でPythonをセットアップする

  1. OpenCV と python/virtualenv?

  2. Python には同期がありますか?

  3. Python で C コードを使用できますか?

  1. Python2コードをPython3に変換する

  2. 方法:Pythonでのソケットプログラミング

  3. Virtualenv は、$PATH の最初にあるにもかかわらず、間違った python を使用します