last day (20 days later) » 

08:30
0
Q: Виртуальное окружение содержит библиотеку, но консоль cmd её не видит

AyconЯ работаю в виртуальном окружении Python 3.10.5 Я могу запустить отладку открытого файла используя локальное виртуальное окружение .venv_my_project. Если я импортирую в файле следующим образом: import numpy as np То файл запускается и успешно работает с Numpy объектами. Если я активирую виртуаль...

Ну а pip list что выводит?
@HerrAskin в консоли в виртуальном окружении выводит несколько библиотек. Среди них нет Numpy.
@PakUula я работаю с двумя проектами в разных версиях Python и текущий проект не является приоритетом. Могут ли быть иные причины проблем? Я не хотел бы менять PATH, тем более, что версия, полученная в файле и так совпадает с версией, полученной в консоли.
@Глеб есть ли ссылка на первоисточник для этого утверждения? Я полагал, что Python обратно совместим для минорных версий. Не значит ли это, что Numpy должен работать с момента релиза?
@Aycon, если pip list не выводит numpy, то он видимо в этом виртуальном окружении и не установлен. А импорт в файле происходит, видимо, с использованием библиотек, установленных непосредственно в системе (ну или из второго проекта, нужно с VS Code разбираться, на какой python он ссылается). Попробуйте в этом виртуальном окружении установить pip install numpy.
@HerrAskin это может быть. Я использовал --system-site-packages при создании окружения. Есть ли способ использовать в том числе и системные пакеты из консоли? Разве поведение консоли в данном случае не должно совпадать с выполнением в файле?
@Aycon, а смысл создавать виртуальное окружение, если используются пакеты из системы? Смешивать пакеты вряд ли получится. Разница в поведении кроется в настройках VS Code. Я с ним не работал, но в PyCharm есть способ задать используемый интерпретатор (ну и зависимости с ним). Вы можете скопировать все пакеты из системы с помощью pip freeze > requirements.txt, а затем в своем новом виртуальном окружении pip install -r requirements.txt.
08:30
@HerrAskin смысл есть, не могу согласиться насчёт настроек. Мало места для аргументации.
@Aycon, в консоли деактивируйте виртуальное окружение и пользуйтесь системными пакетами и библиотеками.
Может есть возможность какую-нибудь симлинк создать в виртуальном окружении на библиотеку в системе? Это так, мысль проскочила...
@HerrAskin в виртуальном окружении лежат нужные для проекта пакеты, которыми я не хочу засорять систему. Это и есть смысл, о котором вы спросили. Нет, это не вариант. Симлинк звучит как костыль. Нужно решить проблему в корне, я полагаю.
Я полагаю, что виртуальное окружение в консоли должно работать так же, как и для файла. Либо по крайней мере должен быть способ запустить 'Python' в консоли также как и файл. Если файл может использовать системные пакеты в перемешку с виртуальным окружением, то консоль должна уметь делать то же самое, либо проблема не в этом.

  last day (20 days later) »