Заставить venv разместить символическую ссылку python в одинаковых местах в macOS и Windows

Я разрабатываю программу в виртуальной среде Python. Запуск команды

python -m venv .venv

в Windows помещает python символическая ссылка в .venv\Scripts\ пока

python3 -m venv .venv

в macOS помещает символические ссылки на .venv/bin/. Я использую Visual Studio Code для разработки, и есть.vscode\\settings.jsonкоторый должен указывать на символические ссылки исполняемого файла. Например

{
    "python.pythonPath": ".venv\\path\\to\\python",
}

Как я могу заставить venv разместить символические ссылки в одинаковых местах независимо от платформы?

PS1. В.venv папка игнорируется git и включается в .gitignore файл, поскольку AFIK не рекомендуется отправлять его с базой кода.

PS2. Чтобы избежать XY-проблемы, конечная цель - иметь идентичную среду разработки на разных платформах. Каким бы ни было решение, независимо от диспетчера пакетов, Visual Studio Code должен иметь возможность находить символические ссылки исполняемого файла на разных платформах.

PS3. Мне нужно найти способ изменить__VENV_BIN_NAME__ параметр.

PS4. Из здесь, один из возможных решений может быть использование"python.pythonPath": "${env:PYTHON_INSTALL_LOC}", вместо.

PS5. Я задал здесь еще один вопрос.

2 ответа

Две вещи. Во-первых, вы не можете использовать виртуальную средуbin/на винде (см. отклоненную идею).

Во-вторых, расширение Python проводит эксперимент, чтобы избавиться от python.pythonPathкоторый разрешит ваш конфликт. См . Сообщение в блоге о майском выпуске, чтобы узнать подробности и узнать, как зарегистрироваться.

Почему имеет значение, куда каждая ОС помещает питон venv? Если вы правильно убедились, что.venv отсутствует в базе кода, но убедитесь, что он находится в.gitignore, тогда не имеет значения, нужен ли кому-то, кто загружает ваш код, venv. Это хорошая практика и гарантирует, что тот, у кого есть ваш код на той ОС, на которой установлен их Python, с любыми зависимостями, которые нужны вашей программе, будет использоваться.

Если вы используете несколько ОС для разработки, создайте файл настроек.vscode рабочего пространства или проекта с этими конкретными настройками для Python, который вы хотите использовать, но также убедитесь, что каталог.vscode в вашем проекте находится в вашем.gitignore. Затем настройте отдельные параметры.vscode на разных машинах для этих параметров ОС.

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