私はpython 2.7 + virtualenvバージョン1.10.1をmyprojectプロジェクトの実行に使用しています。他のプロジェクトの要件により、他のバージョンのpython(Python 3.5)およびDjango 1.9で作業する必要があります。このため、ユーザーディレクトリにpythonをインストールしました。また、ユーザーディレクトリにvirtualenv(version-15.1.)をダウンロードしてインストールしました。しかし、仮想環境を作成しようとするたびに、次のエラーが発生します
python virtualenv/virtualenv.py myproject
Using base prefix '/home/myuser/python3'
New python executable in /home/mount/myuser/project_python3/myproject/bin/python
ERROR: The executable /home/mount/myuser/project_python3/myproject/bin/python is not functioning
ERROR: It thinks sys.prefix is '/home/myuser/python3' (should be '/home/mount/myuser/project_python3/myproject')
ERROR: virtualenv is not compatible with this system or executable
誰が私がこれで間違っているのか教えてもらえますか
Python 3.6+では、pyvenvモジュールは非推奨です。代わりに次のワンライナーを使用してください。
python3 -m venv <myenvname>
これは、Pythonコミュニティによって仮想環境を作成するための 推奨方法 です。
Pythonには、バージョン3.3以降、venv
という組み込みの "virtualenv"がすでに付属しています。 Python 3.3+用のvirtualenv
スクリプトをインストールまたはダウンロードする必要はなくなりました。
https://docs.python.org/3/library/venv.html
「virtualenv」の作成を処理するpyvenv
コマンドがインストールで提供されていることを確認してください。引数は、従来のvirtualenvプロジェクトに似ています。
$ pyvenv --help
usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear]
[--upgrade] [--without-pip]
ENV_DIR [ENV_DIR ...]
Creates virtual Python environments in one or more target directories.
positional arguments:
ENV_DIR A directory to create the environment in.
optional arguments:
-h, --help show this help message and exit
--system-site-packages
Give the virtual environment access to the system
site-packages dir.
--symlinks Try to use symlinks rather than copies, when symlinks
are not the default for the platform.
--copies Try to use copies rather than symlinks, even when
symlinks are the default for the platform.
--clear Delete the contents of the environment directory if it
already exists, before environment creation.
--upgrade Upgrade the environment directory to use this version
of Python, assuming Python has been upgraded in-place.
--without-pip Skips installing or upgrading pip in the virtual
environment (pip is bootstrapped by default)
Once an environment has been created, you may wish to activate it, e.g. by
sourcing an activate script in its bin directory.
仮想環境を作成するには
virtualenv -p python3 venv_name
これにより、baseDirectory/bin/python3に新しいpython実行可能ファイルが作成されます
新しく作成されたVenvをアクティブにする方法:
cd baseDirectory/bin/
source activate
新しいvenvを非アクティブ化
deactivate
コマンド(Python 3.x用)を使用してインストールします。
$ python3 -m venv env