Автоматически открывать виртуальную среду при вызове сценария python в Windows - PullRequest
0 голосов
/ 01 августа 2020

Этот вопрос задавался раньше, но всем ответам несколько лет назад, и я не мог заставить их работать на себя, поэтому я был бы признателен за помощь.

Вопрос действительно прост: я есть сценарий python и виртуальная среда, в которой я хочу, чтобы он запускался, когда я дважды щелкаю по нему или вызываю его из другой программы. Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 02 августа 2020

Некоторые идеи

Shebang

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

#!/path/to/my/venv/bin/python

import sys

print(sys.executable)

Shell / пакетный сценарий

Напишите сценарий оболочки, преобразующий вызов в фактический сценарий Python:

#!/usr/bin/env sh

/path/to/my/venv/bin/python /path/to/my/script.py

Python обертка

#!/usr/bin/env python3

import subprocess

command = [
    '/path/to/my/venv/bin/python',
    '/path/to/my/script.py',
]
subprocesss.check_call(command)
0 голосов
/ 01 августа 2020

У меня нет точного ответа, который вам нужен, но если вам нужны только пакеты на вашем venv, вы можете добавить двухстрочный код вверху вашего скрипта

from sys import path

path.append("<venv path>/Lib/site-packages")

теперь скрипт может находить пакеты на вашем venv. вы можете дважды щелкнуть по нему и его работа

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