virtualenvwrapper,来自 python 脚本的 add2virtualenv
virtualenvwrapper, add2virtualenv from python script
我有一个包含类似文件的项目:
├── main_folder
├── my_folder
├── my_file.py
├── main_file.py
在 main_file.py
内部,我正在尝试 运行 以下命令:
import subprocess
subprocess.getstatusoutput(f'add2virtualenv FULL_PATH_TO_PROJECT/main_folder')
但作为回应,我收到了 (127, '/bin/sh: 1: add2virtualenv: not found')
我该如何解决它,以便我可以在下面的 my_file.py
行中使用:
from main_file import something
add2virtualenv
等virtualenvwrapper的命令是shellfunctions定义在virtualenvwrapper.sh
;要调用它们,您需要先在同一个 shell 中获取 virtualenvwrapper.sh
的来源。还要注意他们使用 bash
或 zsh
但不使用 /bin/sh
.
所以我的建议是创建一个 bash 脚本:
#! /usr/bin/env bash
source `which virtualenvwrapper.sh`
add2virtualenv ""
并将其称为子进程:
subprocess.getstatusoutput(f'myscript FULL_PATH_TO_PROJECT/main_folder')
我有一个包含类似文件的项目:
├── main_folder
├── my_folder
├── my_file.py
├── main_file.py
在 main_file.py
内部,我正在尝试 运行 以下命令:
import subprocess
subprocess.getstatusoutput(f'add2virtualenv FULL_PATH_TO_PROJECT/main_folder')
但作为回应,我收到了 (127, '/bin/sh: 1: add2virtualenv: not found')
我该如何解决它,以便我可以在下面的 my_file.py
行中使用:
from main_file import something
add2virtualenv
等virtualenvwrapper的命令是shellfunctions定义在virtualenvwrapper.sh
;要调用它们,您需要先在同一个 shell 中获取 virtualenvwrapper.sh
的来源。还要注意他们使用 bash
或 zsh
但不使用 /bin/sh
.
所以我的建议是创建一个 bash 脚本:
#! /usr/bin/env bash
source `which virtualenvwrapper.sh`
add2virtualenv ""
并将其称为子进程:
subprocess.getstatusoutput(f'myscript FULL_PATH_TO_PROJECT/main_folder')