簡體   English   中英

ImportError:無法導入名稱'certs'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM