ImportError: нет модуля с именем dash

Я не могу установить тире на рабочий сервер. На местном уровне я импортировал

pip install dash==0.29.0

Но в проде не работает. Когда я использую

sudo apt-get install python dash

его показ

> "dash is already the newest version (0.5.8-2.4)"

, однако при использовании тире импорта я получаю

> "ImportError: No module named dash"

также пробовали

sudo pip install python dash==0.29.0

но он дает ошибку ниже:

Requirement already satisfied: python in /usr/lib/python2.7/lib-dynload
Collecting dash==0.29.0
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in _get_pages
    page = self._get_page(location)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 683, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 792, in get_page
    "Cache-Control": "max-age=600",
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 501, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pip/download.py", line 386, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 47, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 423, in send
    timeout=timeout
  File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 643, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 315, in increment
    total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

какую версию Python вы используете для импорта тире?

Albin Paul 09.11.2018 07:20

Вы устанавливаете для python 2, т.е. pip, и пытаетесь запустить его на python3? В этом случае используйте pip3 install dash==0.29.0

Vineeth Sai 09.11.2018 07:20

Нет, моя версия python - 2.7. Я не запускаю его в python3

Soubhik Banerjee 09.11.2018 07:21

@SoubhikBanerjee при попытке pip install dash==0.29.0 именно в чем ошибка?

Albin Paul 09.11.2018 07:25

@AlbinPaul TypeError: неподдерживаемые типы операндов для - =: 'Retry' и 'int'

Soubhik Banerjee 09.11.2018 07:33

@SoubhikBanerjee поместил полную трассировку стека в вопрос

Albin Paul 09.11.2018 07:34

@AlbinPaul добавил то же самое. Пожалуйста, проверьте

Soubhik Banerjee 09.11.2018 07:58

@SoubhikBanerjee Взгляните на это

Albin Paul 09.11.2018 08:00

+1 @AlbinPaul OP объединил два разных вопроса / проблемы, после ответа на исходный вопрос.

aneroid 09.11.2018 08:07
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
9
17 617
4

Ответы 4

Команда sudo apt-get install python dash устанавливает пакет Python система (правильный) и система пакет dash (неверный), который является оболочка linux.

После установки Python с sudo apt-get install python, чтобы установить питон пакетный тире, вам нужно сделать sudo pip install dash==0.29.0 или sudo python -m pip install dash==0.29.0.

Пробовали то же самое, но безуспешно. Выдает ошибку: файл "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.wh‌ l / urllib3 / connection‌ pool.py", строка 643, в urlopen _stacktrace = sys .exc_info () [2]) Файл "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.wh‌ l / urllib3 / util / retry‌ .py", строка 315, в инкременте всего - = 1 TypeError: неподдерживаемые типы операндов для - =: 'Retry' и 'int'

Soubhik Banerjee 09.11.2018 07:42
urllib3 1.19.1 была выпущена 16 ноября 2016 г.. Может, попробуй перейти на что-нибудь новее. Сделайте pip install --upgrade urllib3.
aneroid 09.11.2018 07:51

Кстати, я ответил на ваш исходный вопрос, и AlbinPaul прокомментировал вашу проблему с новый. См. Как работает принятие ответа? и Что мне делать, когда кто-то отвечает на мой вопрос?

aneroid 09.11.2018 08:10

Из того, что я могу сказать - а я очень зеленый - похоже, что python / environment сканируют модули по имени файла в соответствующем каталоге «пакетов сайта». Я установил Dash через командную строку для моего системного Python, а затем также через командную строку anaconda.

Когда я пытался импортировать тире в Spyder через anaconda, я получал ту же ошибку. Мне удалось решить проблему, переименовав папку, содержащую файл в этом, с dash_rendered на просто dash.

Похоже, что тогда, когда Spyder просканировал свои пакеты, он смог определить правильный каталог.

У меня не было проблем с установкой dash на python, как правило, с помощью команды, предоставленной из Plotly в командной строке.

pip install dash == 1.7.0

Я вижу, что это было год назад, и что Dash с тех пор немного изменился - но, надеюсь, это поможет будущим пользователям, чьи среды не распознают модуль как «тире» без переименования, как в Spyder.

У меня была такая же проблема, я решил ее, запустив pip install dash на терминале conda (если вы используете Anaconda).

Создайте виртуальную среду:

virtualenv venv # creates a virtualenv called "venv"
source venv/bin/activate # uses the virtualenv

а потом pip install dash

Другие вопросы по теме