Я новичок в python, настроил несколько вещей в терминале и сейчас пытаюсь запустить код на python в Atom.
Мои первые три строки в редакторе кода:
import re
import requests
import robobrowser
Когда я запускаю код, я продолжаю получать
ImportError: нет модуля с именем robobrowser
Я предполагаю, что это связано с путем или расположением моих файлов, но я не уверен, как это проверить.
Версии, которые я запускаю в терминале:
(prot) MacBook:prot myname$ python --version
Python 3.7.3
(prot) MacBook:prot myname$ pip --version
pip 19.0.3 from /Users/myname/prot/prot/lib/python3.7/site-
packages/pip (python 3.7)
Я также создал виртуальную среду, используя следующее:
MacBook:prot myname$ python3 -m venv prot
MacBook:prot myname$ source prot/bin/activate
Итак, моя командная строка по умолчанию отображает:
(prot) MacBook: prot myname $
Запуск следующего показывает, что необходимые пакеты есть.
(prot) MacBook:prot myname$ pip3 list
Package Version
-------------- --------
beautifulsoup4 4.7.1
certifi 2019.3.9
chardet 3.0.4
idna 2.8
pip 19.0.3
requests 2.21.0
robobrowser 0.5.3
setuptools 40.8.0
six 1.12.0
soupsieve 1.9
urllib3 1.24.1
Werkzeug 0.15.1
Редактировать (обновляется на основе комментариев):
import sys
print(sys.version)
в выходах Atom (раньше говорилось 2. #, поэтому я обновил версию в атоме):
3.7.3 (по умолчанию, 27 марта 2019 г., 09:23:15)
[GCC 4.2.1 Совместимый Apple LLVM 10.0.0 (clang-1000.0.42)]
Robobrowser правильно отображается в терминале:
(prot) MacBook:prot myname$ pip3 show robobrowser
Name: robobrowser
Version: 0.5.3
Summary: Your friendly neighborhood web scraper
Home-page: https://github.com/jmcarp/robobrowser
Author: Joshua Carp
Author-email: jm.carp@gmail.com
License: MIT
Location: /Users/myname/prot/prot/lib/python3.7/site-packages
Requires: beautifulsoup4, requests, six, Werkzeug
Required-by:
Чтобы проверить оставшуюся проблему robobrowser, я запустил это в atom:
from pip import _internal
_internal.main(['list'])
и получил это (обратите внимание, что robobrowser отсутствует):
Package Version
--------------- --------
cached-property 1.5.1
certifi 2019.3.9
chardet 3.0.4
idna 2.8
pip 19.0.3
python-dateutil 2.8.0
requests 2.21.0
setuptools 40.8.0
six 1.12.0
urllib3 1.24.1
wheel 0.33.1
В терминале, работает
pip show requests
pip show robobrowser
возвращает то же местоположение
/ Пользователи / MyName / Prot / Prot / Библиотека / python3.7 / сайт-пакеты
В атоме, работает
import sys
print(sys.path)
* * Выходы тысяча шестьдесят-два
['', '/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/usr/local/Cellar/python/3.7. 3 / Frameworks / Python.framework / Versions / 3.7 / lib / python3.7 ',' /usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib -dynload ',' /usr/local/lib/python3.7/site-packages']
Так что я думаю, что мне нужно добавить вышеуказанное местоположение в sys.path