我正在使用 OSX,并尝试使用 Python3 创建一个虚拟环境,但出现了错误:
$ virtualenv --python python3 env
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.4/bin/python3
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 37, in <module>
import ConfigParser
ImportError: No module named 'ConfigParser'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/virtualenv.py", line 39, in <module>
import configparser as ConfigParser
File "/usr/local/lib/python2.7/site-packages/configparser.py", line 397
_KEYCRE = re.compile(ur"%\(([^)]+)\)s")
它似乎正在寻找ConfigParser
,它已被重命名configparser
。对吗?我该怎么办?
我尝试使用 virtualenv 进行更新,pip install -U virtualenvwrapper
但是没有帮助。
答案1
我遇到过类似的问题,我不确定这是否能解决您的问题,但对我来说,这是由于新版本的 python-future 跳过了我的路径中的队列(领先于核心 python configparser
),然后遇到了问题。
对我来说,解决问题的方法是将configparser.py
文件从该目录中删除,因为这不是configparser
所virtualenv
要查找的文件。
公平地说,我认为这个问题是在未来的较新版本中引入的(这就是为什么我遇到与您不同的错误),但我想考虑到您的回溯来自的路径,问题仍然源于它运行到一个不期望存在的configparser
模块。virtualenv
我是提出问题和大家一起python-future
,但除此之外,我真的不知道如何解决这个问题,除了configparser
从路径上的位置消除版本。不幸的是,这也影响了 Future 允许 Python2 和 Python3 中的 import 语句等价的能力。
希望这可以帮助!
答案2
升级到最新版本的 virtualenv 15.1 后问题解决了。
pip install --upgrade virtualenv
答案3
我认为应该为 python2 和 3 安装 virtualenv,因此我通过为 python3 安装 virtualenv 修复了这个错误。
sudo python3 -m pip install virtualenv