Из-за этой проблемы я некоторое время чесал голову.
Я уже дважды сталкивался с этой проблемой, на windows 7 и windows 10. Поскольку это закрытая сеть, я никаких проблем безопасности с W7.
У меня есть существующая установка Python 2.7 - густонаселенная, с некоторыми довольно старыми версиями библиотеки. Хотя я хотел бы создать виртуальную среду для Python 2.7, я не хочу этого делать, потому что колеса недоступны для многих версий библиотек, которые мне нужно использовать, и истории изменений не доступны для некоторых из них. более старые библиотеки, поэтому, не пытаясь их использовать, я не могу определить, являются ли более поздние версии библиотек обратно совместимыми или нет. Поскольку код Python 2.7 взят из производственной среды, я не могу его сломать / заменить.
Все библиотеки python 2.7 устанавливаются из исполняемых установщиков, так как многие из них предшествуют введению python руль стандартный. Некоторые из них также требуют сборки с более старыми версиями MSV C, что является еще одной причиной нежелания пытаться восстановить.
Будет гораздо проще оставить установку python 2.7 как есть и начать запуск Python 3 в виртуальных средах, хотя мой первоначальный план состоял в том, чтобы создать отдельную виртуальную среду 2.7.
Пример Python 3 виртуальная среда, созданная как "py37".
В моей виртуальной среде окружение.
include-system-site-packages = false
Когда я активирую виртуальную среду, все выглядит хорошо.
Python -V
возвращает 3.7.3, что я и ожидал
Я изменил Мой сценарий для вывода версии python (чтобы я мог отслеживать происходящее)
(py37) C:\my_folder\my_script.py
3.7.3 (v3.7.3:ef4c6ed12, Mar 25, 2019, 21:26:53) [MSC v.1916 32 bit (Intel)]
Traceback (most recent call last):
file "my_script.py", line 24, in (module)
from tk import ttk
ModuleNotFoundError: No module named 'tk'. 'tk' (python 3 lib) is not being found.
Затем я создал два простых сценария, один с использованием формата печати python 2, другой python 3 .
Даже если в виртуальной среде указано python 3, а в версии python указано 3.7.3, сценарий python 3 не запускается.
Версия python 2 печати распечатывается правильно, так четко, хотя все признаки того, что Python 3 работает, на самом деле это Python 2.
PythonPath не определен / не определен на P C, и моя переменная пути указывает на мою виртуальную среду python 3, не моя Python 2 установка.
Все поиски и примеры, которые я придумала, останавливаются, когда version () или Python -V
возвращает 3.x, поэтому, если это повторяющаяся проблема, я не справился найти оригинальный запрос.