Python 가상 환경을 실행하는 스크립트에 다음 호출을 래핑하려고 합니다.
[lucas@lucas-ThinkPad-W520]/home/lucas/bin$ source /home/lucas/Dropbox/projects/competitive-programming/kaggle/venv/ipython-notebook/bin/activate
(ipython-notebook) [lucas@lucas-ThinkPad-W520]/home/lucas/bin$ deactivate
[lucas@lucas-ThinkPad-W520]/home/lucas/bin$
그래서 다음 bash 스크립트를 만들고 실행했습니다.
[lucas@lucas-ThinkPad-W520]/home/lucas/bin$ cat venv_python3.sh
#!/bin/bash
# /usr/bin/env bash
echo "starting python3 venv"
source /home/lucas/Dropbox/projects/competitiveprogramming/kaggle/venv/ipythonnotebook/bin/activate
[lucas@lucas-ThinkPad-W520]/home/lucas/bin$ venv_python3.sh
starting python3 venv
[lucas@lucas-ThinkPad-W520]/home/lucas/bin$
보시다시피 호출을 실행 echo
하지만 가상 환경을 시작하지는 않습니다. 내가 뭐 놓친 거 없니?
여러 튜토리얼을 살펴봤지만 누락된 내용을 찾을 수 없습니다. 또한 /home/lucas/bin/
내 스크립트의 위치인 my 는 my 에 있습니다 $PATH
.
파일의 권한은 다음과 같습니다.
[lucas@lucas-ThinkPad-W520]/home/lucas/bin$ ls -la
total 52
drwxr-xr-x 3 lucas lucas 4096 Jun 28 23:14 .
drwxr-xr-x 79 lucas lucas 4096 Jun 28 23:13 ..
-rwxrw-r-- 1 lucas lucas 164 Jun 28 23:13 venv_python3.sh
답변1
스크립트 상단에는 activate
이를 가져와야 하며 직접 실행할 수 없다고 나와 있습니다. 그것이 하는 일은 bash
파일 소스 세션에서 무언가를 변경하는 것입니다.
귀하의 경우 이는 스크립트를 실행하여 호출 bash
됩니다 .bash
venv_python3.sh
아니요대화형으로 입력 bash
하고 있습니다.
당신이 할 수 있는 일은 당신을 위해 구매를 수행하는 bash 기능(또는 별칭)을 만드는 것입니다. 그러면 "구매"가 당신 측에서 대화식으로 이루어집니다 bash
.
하지만 한번 보시길 권합니다가상 환경 래퍼, 여러 virtualenv 작업을 훨씬 쉽게 만들고 처음에 이 스크립트를 만들 때 발생한 "문제"를 해결할 수 있습니다.