[英]How can I activate a venv within a python script
我有一個 python 腳本,操作系統每 5 分鍾執行一次。
問題是它需要首先激活我在/tmp
中為它創建的jdate
virtual 才能使用安裝在那里的jdatetime
模塊。
我已經嘗試過#1和#2但沒有成功。 在終端中執行腳本會給我錯誤。
#!/usr/bin/env python
# 1:
import os
os.system(f"cd /tmp ; source jdate/bin/activate")
# returns error: ModuleNotFoundError: No module named 'jdatetime'
# 2:
import subprocess
subprocess.check_output(f"cd /tmp ; source jdate/bin/activate", shell=True)
# returns error: ModuleNotFoundError: No module named 'jdatetime'
AFAIK,venv 激活所做的只是將 venv/bin 文件夾路徑添加到 PATH 環境變量中。 如果你使用 CRON 來調度執行,你試過這個嗎?:
*/5 * * * * (cd /tmp/jdate/bin && python path/to/project/myapp.py)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.