除了输入命令之外 - 有没有一种好方法可以在
requirements.txt
中安装 VSCode
。
我有一个工作区,其中有 2 个文件夹,其中添加了不同的 Python 项目 - 每个文件夹都有自己的虚拟环境。我想运行一个任务来执行和安装其中每一个的要求。
我尝试向
tasks.json
添加一项任务来尝试执行此任务,但没有成功。
{
"version": "2.0.0",
"tasks": [
{
"label": "Service1: Install requirements",
"type": "shell",
"runOptions": {},
"command": "'${workspaceFolder}/sources/api/.venv/Scripts/activate'; pip install -r '${workspaceFolder}/sources/api/requirements.txt'",
"problemMatcher": []
}
]
}
它运行 - 但你可以看到它引用我的全局 Python 包
h:\program files\python311\lib\site-packages
- 而不是虚拟环境。
我正在 Windows 上运行此操作 - 但希望它最终能在 Linux 上运行。
我之前写过一篇更详细的post,但正如Andez在评论中提到的,这也是一个适合答案的帖子。此任务可以在 Windows、Linux 和 MacOS 中运行。
{
"version": "2.0.0",
"tasks": [
{
"label": "Build Python Env",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"cwd": "${workspaceFolder}"
},
"linux": {
"command": "python3 -m venv py_venv && source py_venv/bin/activate && python3 -m pip install --upgrade pip && python3 -m pip install -r requirements.txt && deactivate py_venv"
},
"osx": {
"command": "python3 -m venv py_venv && source py_venv/bin/activate && python3 -m pip install --upgrade pip && python3 -m pip install -r requirements.txt && deactivate py_venv"
},
"windows": {
"options": {
"shell": {
"executable": "C:\\Windows\\system32\\cmd.exe",
"args": [
"/d",
"/c"
]
},
},
"command": "(if not exist py_venv py -m venv py_venv) && .\\py_venv\\Scripts\\activate.bat && py -m pip install --upgrade pip && py -m pip install -r requirements.txt && deactivate py_venv"
},
"problemMatcher": []
}
]
}