Ошибка wxpython при настройке — ModuleNotFound: нет модуля с именем «wx»

У меня возникли проблемы с запуском wxpython на моем Mac. Вот ссылка на учебник, который я использую: https://realpython.com/python-gui-with-wxpython/#getting-started-with-wxpython

Сообщение об ошибке, которое я получаю, связано с импортом wx: || получение ModuleNotFoundError: нет модуля с именем 'wx' ||

  • У меня pip установил wxpython, а pip3 установил wxpython просто для верности (примечание: не уверен в разнице, погуглю). Пакет правильно показан в списке ||pip3|| команда терминала.

Я также попытался импортировать wxpython как wx, если это было проблемой. Не повезло.

Я кое-что прочитал на wxpython.org gitHub и readme, возможно, я пропустил некоторые зависимости? Вот страница предварительных условий: https://github.com/wxWidgets/Phoenix/blob/master/README.rst#prerequisites

Здесь упоминается какая-то сборка и колесо: https://github.com/wxWidgets/Phoenix/blob/master/README.rst#id2

Я считаю себя немного более опытным, чем новичок в этом деле, но я никогда не читал и не слышал о таких терминах выше. Большая часть работы, которую мне пришлось проделать для импорта некоторой нестандартной библиотеки, это pip3 install x.

import wx
app = wx.App()
frame = wx.Frame(parent=None, title='Hello World')
frame.Show()
app.MainLoop()

Ожидаемый результат: пустое окно с заголовком «Hello World». Фактический результат: ошибка в строке 1... ModuleNotFoundError: нет модуля с именем «wx».


person Ru Ba    schedule 26.03.2019    source источник


Ответы (1)


Удалите с помощью тех же инструментов pip/pip3, а затем используйте это:

$ python -m pip install wxpython

Синтаксис модуля -m гарантирует, что sys.path будет иметь то же значение во время установки, что и во время выполнения.

Если все еще нет радости, то сначала выясните, куда было установлено бинарное колесо:

$ mdfind wx | egrep '/wx$'

or

$ find ~/miniconda3 ~ /usr / -name wx

(Нажмите CTRL-C, как только найдете.)

Затем посмотрите, находится ли ваш путь в нужном месте:

$ echo $PYTHONPATH
$ which python
$ python
>>> import pprint
>>> import sys
>>> pprint.pprint(sys.path)
...
>>> import wx
>>> 

Путь контролируется env var. Рассмотрите возможность выполнения $ export PYTHONPATH=/some/dir перед вызовом интерпретатора.

person J_H    schedule 26.03.2019
comment
Я ценю помощь! Переустановка с использованием синтаксиса -m работала как шарм. Вы знаете какое-нибудь место, где я могу узнать об этих командах? Я видел их, просто использовал их, и я не уверен, как они называются, чтобы погуглить и узнать больше, лол. - person Ru Ba; 27.03.2019
comment
Честно говоря, я действительно не использую pip, если только могу. Обычно я добавляю deps в файл environment.yml, а затем использую Единую команду: conda env update, cf docs.conda.io /en/latest (и да, обычно я делаю секцию - pip: в этом файле). - person J_H; 27.03.2019