Python3 virtualenv:ImportError:没有名为“ConfigParser”的模块

Python3 virtualenv:ImportError:没有名为“ConfigParser”的模块

我正在使用 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文件从该目录中删除,因为这不是configparservirtualenv要查找的文件。

公平地说,我认为这个问题是在未来的较新版本中引入的(这就是为什么我遇到与您不同的错误),但我想考虑到您的回溯来自的路径,问题仍然源于它运行到一个不期望存在的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

相关内容