Заставить venv создать виртуальную среду в папке «bin» вместо папки «Scripts»

Согласно документации Blender вы можете заменить установку Python, поставляемую с блендером, на свою собственную:

Скопируйте или свяжите расширения в подкаталог Python в Blender, чтобы Blender мог получить к ним доступ. Вы также можете скопировать всю установку Python в подкаталог Blender, заменив тот, который поставляется в Blender. Это работает до тех пор, пока версии Python совпадают и пути создаются в одних и тех же относительных местах. Преимущество этого заключается в том, что вы можете распространять этот пакет среди других с помощью Blender, включая любые расширения, на которые вы полагаетесь.

Я хочу использовать свою собственную виртуальную среду для Blender, однако проблема в том, что в Windows файл python.exe для виртуальных сред будет помещен в

<path/to/venv>/Scripts/python.exe

пока идет установка Python в Blenders

<path/to/blender>/python/bin/python.exe

После тестирования кажется, что простое переименование папок или перемещение файлов приведет к испорчению сценариев активации и ссылок на пакеты. Поэтому вопрос в том, можно ли изменить пути установки Windows для виртуальных сред?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете связать свой bin, как сказано Scripts:

mklink /d "C:\path\to\blender\python\bin" "C:\path\to\venv\Scripts"

Естественно, сначала вам нужно переименовать или удалить (не очень рекомендуется) исходную папку Scripts.

Выглядит хорошо, единственная оставшаяся проблема заключается в том, что локально установленные модули pip, похоже, не распознаются (это означает, что если я установлю свой проект Python через pip install -e ., он будет установлен и отобразится в списке pip, но я получаю ModuleNotFoundError при его импорте.) Думаю, однако, это тема для отдельного поста.

Roland Deschain 03.05.2024 10:53

И последнее замечание: последнее предложение в ответе в моем случае не имеет смысла. Мне нужно удалить исходную папку bin, а не папку Scripts — и это нормально, так как я все равно хочу заменить исходный питон блендера.

Roland Deschain 03.05.2024 10:58

Я имел в виду, что вам нужно сделать несуществующее целевое имя перед связыванием, иначе оно не удастся.

Marcin Orlowski 03.05.2024 11:12

Другие вопросы по теме