ipywidgets.embed отсутствуют зависимости? Ключевая ошибка при запуске в venv - PullRequest
0 голосов
/ 31 октября 2018

Я пишу скрипт, который просто запрашивает у API Google широты и долготы список адресов, считанных из файла CSV, и выводит HTML со встроенным виджетом Googlemap. Далее я надеялся запустить pyinstaller, чтобы превратить его в .exe.

Запуск кода в моей исходной среде conda работает нормально, однако .exe, который создает pyinstaller, имеет размер массив для такого небольшого сценария ( свыше 300 МБ ). Таким образом, я создал новую виртуальную среду для работы и установил то, что я считаю необходимыми минимальными пакетами, и переписал код, чтобы использовать как можно меньше пакетов, которые для текущей рабочей части кода были отброшены это значительно ниже, чуть более 10 мб. ( Никаких пупков для меня ... ну ладно ).

Код снова работает нормально до последнего шага:

from ipywidgets.embed import embed_minimal_html
embed_minimal_html("exporttest.html", None)

В приведенной выше строке должны быть указаны все виджеты, в частности фигура, созданная из

fig = gmaps.figure(layout=figure_layout)
markers = gmaps.marker_layer(coordinates)
fig.add_layer(markers)
fig

Запуск текущей измененной версии в моей исходной среде conda со всеми установленными моими обычными пакетами работает без ошибок. Работая в виртуальной среде, однако в упомянутых строках я получаю следующую ключевую ошибку:

KeyError                                  Traceback (most recent call last)
c:\programdata\anaconda3\envs\synod_environ\lib\sre_parse.py in 
parse_template(source, pattern)
   1020                 try:
-> 1021                     this = chr(ESCAPES[this][1])
   1022                 except KeyError:

KeyError: '\\u'

During handling of the above exception, another exception occurred:

error                                     Traceback (most recent call last)
<ipython-input-5-3359941239ab> in <module>
      1 from ipywidgets.embed import embed_minimal_html
      2 
----> 3 embed_minimal_html("exporttest.html", None)

...

error: bad escape \u at position 0

( Для пояснения, ключевая ошибка имеет две косые черты перед вами, некоторые разочарования в том, чтобы правильно разместить это сообщение )

Поскольку код работает правильно в одной среде, но не в другой, я могу только предположить, что мне не хватает пакета где-то, что требуется ipywidgets, но запуск pip check не уведомляет меня о чем-либо отсутствующем.

pip list возвращает следующие пакеты:

altgraph           0.16.1
backcall           0.1.0
bleach             3.0.2
certifi            2018.10.15
chardet            3.0.4
colorama           0.4.0
decorator          4.3.0
defusedxml         0.5.0
entrypoints        0.2.3
future             0.17.1
geojson            2.4.1
gmaps              0.8.2
idna               2.7
ipykernel          5.1.0
ipython            7.1.1
ipython-genutils   0.2.0
ipywidgets         7.4.2
jedi               0.13.1
Jinja2             2.10
jsonschema         2.6.0
jupyter            1.0.0
jupyter-client     5.2.3
jupyter-console    6.0.0
jupyter-core       4.4.0
macholib           1.11
MarkupSafe         1.0
mistune            0.8.4
nbconvert          5.4.0
nbformat           4.4.0
notebook           5.7.0
pandocfilters      1.4.2
parso              0.3.1
pefile             2018.8.8
pickleshare        0.7.5
pip                10.0.1
prometheus-client  0.4.2
prompt-toolkit     2.0.7
Pygments           2.2.0
PyInstaller        3.4
python-dateutil    2.7.5
pywin32-ctypes     0.2.0
pywinpty           0.5.4
pyzmq              17.1.2
qtconsole          4.4.2
requests           2.20.0
Send2Trash         1.5.0
setuptools         40.4.3
six                1.11.0
terminado          0.8.1
testpath           0.4.2
tornado            5.1.1
traitlets          4.3.2
urllib3            1.24
wcwidth            0.1.7
webencodings       0.5.1
wheel              0.32.2
widgetsnbextension 3.4.2
wincertstore       0.2

Есть ли у вас какие-либо мысли о том, как определить, что пошло не так, какой пакет может отсутствовать или как решить проблему, и / или как можно сохранить выходные данные googlemaps?

1 Ответ

0 голосов
/ 31 октября 2018

Поэкспериментировав и сравнив одну среду с другой, я обнаружил, что в моей виртуальной среде есть ipywidgets 7.4.2, а в базовой среде - ipywidgets 7.2.1. Версии с понижением версии устранили проблему, с которой я столкнулся.

...