我的Debian8.5机器上的默认python版本是3.4.2。我只想为一个项目使用python 2.7。我试着在终端上逐一运行以下所有命令:
virtualenv -p python2.7 env_dir
virtualenv -p python2 env_dir
virtualenv --python=python2.7 env_dir这是file.py内部的env_dir:
print "Hello world from inside env_dir"显然,file.py仍然是使用python3.4.2执行的,因为我运行:
python file.py我得到了:
File "file.py", line 1
print "Hello world from inside env_dir"
^
SyntaxError: Missing parentheses in call to 'print'问题是什么,为什么它不能在python2.7中运行代码?
更新
我也尝试过:
virtualenv -p /usr/bin/python2.7 env_dir
source env_dir/bin/activate
(env_dir) amir@amir-debian:~/env_dir$ python file.py
File "file.py", line 1
print "Insid virtual env"
^
SyntaxError: Missing parentheses in call to 'print'激活返回后运行python -V:Python3.4.2
Update-2这里是我如何尝试创建虚拟主机和终端输出的过程:
$ virtualenv --python=/usr/bin/python2.7 venv3
Running virtualenv with interpreter /usr/bin/python2.7
New python executable in /home/amir/Desktop/venv3/bin/python2.7
Also creating executable in /home/amir/Desktop/venv3/bin/python
Installing setuptools, pip, wheel...done.
$ source venv3/bin/activate
(venv3) amir@amir-debian:~/Desktop$ python -V
Python 3.4.2
(venv3) amir@amir-debian:~/Desktop$ python
Python 3.4.2 (default, Oct 8 2014, 10:45:20)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 为什么工作版本仍然是3.4.2,而不是像我在创建vertualenv时作为venv3选项的2.7?
发布于 2016-09-18 11:12:50
通过执行python2检查是否有python -v,如果有,可以执行python2 file.py
here也给出了答案
那就是virtualenv -p /usr/bin/python2.7 <path/to/new/virtualenv/>
发布于 2016-09-18 11:19:06
您可以指定要使用的python版本。
$ virtualenv venv --python=/usr/bin/python2
https://stackoverflow.com/questions/39556999
复制相似问题