[英]ImportError: cannot import name 'certs'
我在過去的兩天里遇到了這個錯誤。 這似乎是python請求庫的一個問題,但我重新安裝了幾次沒有運氣。
Traceback (most recent call last):
File "project-src/bla-blah/manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "project-src\env\lib\site-packages\django\core\management\__init__.py", line 385, in execute_from_command_line
utility.execute()
File "project-src\env\lib\site-packages\django\core\management\__init__.py", line 354, in execute
django.setup()
File "project-src\env\lib\site-packages\django\__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "project-src\env\lib\site-packages\django\apps\registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "project-src\env\lib\site-packages\django\apps\config.py", line 112, in create
mod = import_module(mod_path)
File "C:\Python34\lib\importlib\__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1471, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "project-src\env\lib\site-packages\social\apps\django_app\__init__.py", line 14, in <module>
from social.apps.django_app.utils import load_strategy
File "project-src\env\lib\site-packages\social\apps\django_app\utils.py", line 12, in <module>
from social.backends.utils import get_backend
File "project-src\env\lib\site-packages\social\backends\utils.py", line 2, in <module>
from social.backends.base import BaseAuth
File "project-src\env\lib\site-packages\social\backends\base.py", line 1, in <module>
from requests import request, ConnectionError
File "project-src\env\lib\site-packages\requests\__init__.py", line 58, in <module>
from . import utils
File "project-src\env\lib\site-packages\requests\utils.py", line 24, in <module>
from . import certs
ImportError: cannot import name 'certs'
也許這是2天前Windows 7更新的問題,因為這是過去幾天唯一發生變化的事情。
順便說一句,我使用的是帶有virtualenv的python 3.4,PyCharm 3.4.1 IDE和Win7。
在certs.py里面有代碼有問題(最后一行):
try:
from certifi import where
except ImportError:
def where():
"""Return the preferred certificate bundle."""
# vendored bundle inside Requests
return os.path.join(os.path.dirname(__file__), 'cacert.pem')
這對我有用(重新安裝請求庫):
pip uninstall requests pip install requests
我上周在Mac(塞拉利昂)也有同樣的問題。 此外, certs.py
模塊存在,這意味着這是一個與操作系統有關的問題而不是Python本身。 在我的情況下,這是最大文件限制的問題,所以只需用ulimit 200000 200000
增加它
如果你想知道這個問題發生了什么......我重新安裝了操作系統,再次下載了git項目,重新配置了python virtualenv並且'神奇地'它工作了。 所以我確定在某個地方有一個錯過配置,但它不是請求庫問題。
如果您遇到同樣的問題,我建議您安裝一個全新的環境。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.