contextlib не найден в виртуальной среде - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть скрипт Python, который был создан для извлечения данных из базы данных и представления их в электронной таблице Excel.Поскольку этот сценарий нужен нескольким людям, я поместил его на сетевой диск.Для запуска сценария я также создал виртуальную среду в папке на своей рабочей станции, которую затем скопировал в сетевое расположение.У меня есть пакетный файл, который запускает сценарий с использованием версии Python для виртуальной среды.

Когда я запускаю пакетный файл на своей рабочей станции (с сетевого диска), все работает нормально.Когда другой пользователь, у которого на рабочей станции не установлен Python, запускает пакетный файл, он получает следующую ошибку:

ModuleNotFoundError: Нет модуля с именем contextlib

Трассировка ошибки происходит от:

virtualenv \ lib \ site.py

virtualenv \ lib \ importlib \ util.py

Чего мне не хватает при создании виртуальной среды?Для его создания я использовал следующие команды (в Windows):

mkdir virtualenv
virtualenv virtualenv
\virtualenv\Scripts\activate
pip install [packages required for script]]
\virtualenv\Scripts\deactivate

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 21 февраля 2019

Спасибо за вашу помощь.Оказывается, virtualenv не делает то, что я думал, что сделал.Virtialenv не переносим на другие машины / среды.

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

Чтобы установить pyinstaller и создать приложение, я просто следовал инструкциям здесь:

https://www.pyinstaller.org/

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