我想为python 2.7创建一个virtualenv(我正在使用3.7)
我以admin身份运行cmd(在Windows 10上):
C:\WINDOWS\system32>virtualenv -p C:\Python27\python.exe py27
我得到了一个错误:
Running virtualenv with interpreter C:\Python27\python.exe
Traceback (most recent call last):
File "c:\path\to\virtualenv.py", line 26, in <module>
import logging
File "C:\Python27\lib\logging\__init__.py", line 43, in <module>
import threading
File "C:\Python27\lib\threading.py", line 15, in <module>
from collections import deque
File "C:\Python27\lib\collections\__init__.py", line 55
raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
^
SyntaxError: invalid syntax
当我启动Python2.7并尝试导入日志记录模块时:它显示相同的错误,但是当我重新键入它时。工作正常:
>>> import logging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\logging\__init__.py", line 43, in <module>
import threading
File "C:\Python27\lib\threading.py", line 15, in <module>
from collections import deque
File "C:\Python27\lib\collections\__init__.py", line 55
raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
^
SyntaxError: invalid syntax
>>> import logging
>>> logging.warning('hello word')
WARNING:root:hello word
>>>
我不知道为什么会这么做。
我已经用python 3.6配置了一个虚拟环境
任何帮助将不胜感激。
答案 0 :(得分:1)
您有版本问题。这行
raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
在Python 2.7下运行,但在Python 3.6(或3.7)下运行,并且会在早期版本中给您带来语法错误。在您的情况下,我认为Python 2.7的安装是无法修复的,因为很明显,标准库不应该被所有人视为一致的版本。
答案 1 :(得分:0)
问题已解决:删除c:\ Python27目录,然后使用安装工具卸载python 2.7,重新启动计算机并重新安装python 2.7