我正在使用 python 2.7 + virtualenv版本1.10.1 来运行myproject项目。由于一些其他项目的要求,我必须使用其他版本的python( Python 3.5 )和 Django 1.9 。为此我在我的用户目录中安装了python。此外,我已经下载并将virtualenv(版本--15.1.0 )安装到我的用户目录中。 但每当我尝试创建虚拟环境时,我都会收到以下错误
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
任何人都可以告诉我这个错误吗
答案 0 :(得分:48)
答案 1 :(得分:6)
自3.3版以来,Python已经内置了“virtualenv”,名为venv
。您不再需要安装或下载Python 3.3 +的virtualenv
脚本。
https://docs.python.org/3/library/venv.html
检查您的安装是否提供了pyvenv
命令,该命令应该负责创建“virtualenv”。参数类似于经典的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.
答案 2 :(得分:1)
创建虚拟环境
virtualenv -p python3 venv_name
这将在baseDirectory / bin / python3中创建新的python可执行文件
如何激活新创建的Venv:
cd baseDirectory/bin/
source activate
停用新的虚拟电话
deactivate
答案 3 :(得分:1)
自从Python 3.3版发布以来,由于Python内置了virtualenv
软件包,因此无需另外下载。{p>
请参阅documentation,以获得有关它的完整见解。
测试virtualenv的安装:
$ virtualenv --version
用法:
1。创建虚拟环境:
$ virtualenv --system-site-packages -p python3 ./virtual_env_name2。要启用它,请使用以下命令:
$ source ./virtual_env_name/bin/activate3。用于禁用虚拟环境并重新使用本地环境:
$停用要列出虚拟环境中的软件包,请使用 以下命令:
$ pip3列表
答案 4 :(得分:0)
我使用命令(对于Python 3.x)安装
$ python3 -m venv env
答案 5 :(得分:0)
要在python3中创建虚拟环境:
virtualenv -p /usr/bin/python3 virtualenvname
创建虚拟环境后,我们需要使用以下命令将其激活:
source virtualenvname/bin/activate
要停用,请使用以下命令:
deactivate
答案 6 :(得分:0)
virtualenv 是Python 2的首选工具,而 venv 处理Python 3的任务。
但是,您可以使用其中任何一个为Python 3创建虚拟环境。
venv
python3 -m venv virtualenvname
命令语法:
/path/to/python3 -m venv /path/to/directory/virtual_env_name
virtualenv
virtualenv -p python3 virtualenvname
命令语法:
virtualenv -p /path/to/python3 /path/to/directory/virtual_env_name
在Linux,Unix或MacOS上,使用终端或bash shell:
source /path/to/venv/bin/activate
例如source virtualenvname/bin/activate
在Unix或MacOS上,使用csh shell:
source /path/to/venv/bin/activate.csh
在Unix或MacOS上,使用鱼壳:
source /path/to/venv/bin/activate.fish
在Windows上使用命令提示符:
path\to\venv\Scripts\activate.bat
在使用PowerShell的Windows上:
path\to\venv\Scripts\Activate.ps1
在Linux,Unix或MacOS上,使用终端或bash shell:
deactivate
在Windows上使用命令提示符:
path\to\venv\Scripts\deactivate.bat
在使用PowerShell的Windows上:
deactivate
此答案适用于可能使用其他操作系统的人。
答案 7 :(得分:-1)
在virtualenv之上安装virtualenvwrapper以简化操作。 按照博客安装简单步骤:virtualenvwrapper
创建它的步骤:
workon
- 激活virtualenv,deactivate
- 停用viirtualenv