Получение очень странной ошибки при попытке импортировать запросы или красивый суп - PullRequest
1 голос
/ 08 апреля 2019

Я очень плохо знаком с питоном и программированием в целом.Я пытаюсь импортировать как красивый суп и модули запросов.Когда я пытаюсь импортировать любой модуль в файл .py и запускать его в режиме ожидания, я получаю очень длинную и странную ошибку.

Несмотря на то, что я получаю ту же ошибку для каждого из них, я не могу найти никого другогокто испытал ту же проблему.Любая помощь очень ценится!

windows 10 python 3.7.0

Насколько я могу судить, у меня правильно установлены пути к python и сценариям python.Я уверен, что у меня правильно установлены модули, потому что когда я запускаю pip freeze, я получаю:

arcade==1.3.7
beautifulsoup4==4.7.1
certifi==2019.3.9
chardet==3.0.4
future==0.17.1
h11==0.8.1
html5lib==1.0.1
idna==2.8
lxml==4.3.3
Pillow==5.4.1
pyglet==1.3.2
requests==2.21.0
requests3==0.0.0
six==1.12.0
soupsieve==1.9
urllib3==1.24.1
webencodings==0.5.1
xmlx==2.0.0

Я попытался удалить и переустановить python.Изначально у меня было загружено несколько разных версий, поэтому мне интересно, может ли это как-то вызвать проблему?У меня сейчас установлена ​​только 3.7.0.Я проверил и дважды проверил, что путь настроен правильно.Я пытался установить библиотеки кучу разных времен и способов.

Мой файл сохранен и работает так:

import requests

Это ошибка, которую я получаю:

Traceback (most recent call last):


 File "<frozen importlib._bootstrap>", line 900, in _find_spec
AttributeError: '_SixMetaPathImporter' object has no attribute 'find_spec'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/NeckR/Desktop/py/ifthisworks.py", line 1, in <module>
    import requests
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\__init__.py", line 43, in <module>
    import urllib3
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\__init__.py", line 8, in <module>
    from .connectionpool import (
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 11, in <module>
    from .exceptions import (
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\exceptions.py", line 2, in <module>
    from .packages.six.moves.http_client import (
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 963, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 902, in _find_spec
  File "<frozen importlib._bootstrap>", line 879, in _find_spec_legacy
  File "<frozen importlib._bootstrap>", line 449, in spec_from_loader
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\packages\six.py", line 216, in is_package
    return hasattr(self.__get_module(fullname), "__path__")
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\packages\six.py", line 118, in __getattr__
    _module = self._resolve()
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\packages\six.py", line 115, in _resolve
    return _import_module(self.mod)
  File "C:\Users\NeckR\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\packages\six.py", line 82, in _import_module
    __import__(name)
  File "C:/Users/NeckR/Desktop/py\http.py", line 9
    print 'Serving HTTP on port %s ...' % PORT
                                      ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Serving HTTP on port %s ...' % PORT)?

Ответы [ 2 ]

1 голос
/ 08 апреля 2019

Похоже, вы пытаетесь запустить скрипты python2 с интерпретатором python3. Прежде всего, попробуйте использовать print с круглыми скобками

print('Serving HTTP on port %s ...' % PORT)

Кроме того, похоже, что у вас проблема с импортом, когда какая-то внешняя библиотека пытается сделать что-то вроде import http, и первый найденный модуль - это py/http.py. Попробуйте переименовать ваш модуль во что-то более уникальное.

Кроме того, у вас есть две библиотеки requests и одна определенно для python2. Как вы их установили? Попробуйте удалить их обоих и установить правильный - для python3.

0 голосов
/ 08 апреля 2019

Я решил проблему, удалив все файлы, связанные с python, которые мог найти, а затем просто переустановил все.Классический

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...