gpt4 book ai didi

python - 在 Python 脚本中激活 virtualenv

转载 作者:太空宇宙 更新时间:2023-11-04 05:58:19 24 4
gpt4 key购买 nike

我有一个名为 runner.py 的 Python 脚本,它需要在 VM 上运行,并且在执行时没有机会安装新的 python 库,因为 Internet 被禁用。

因为我有 VM 的 img,我已经给它 LAN,安装了 virtualenv 并在 /tmp/myenv 中创建了一个 virtualenv。由于这个 VM 是一个快照,我在它启动时(每 10 分钟)丢失了里面的所有数据,包括临时数据。我保留了在我的计算机上创建的那个 venv 的副本。

启动 VM 时,我可以使用位于 /home/user1/myfolder 的文件启动它,然后它运行 runner.py

runner.py 通过位于 /bin/python 的默认 python 二进制文件执行,应该:

  1. 做一些事情

  2. 将 myfolder/myenv 复制到/tmp/myenv(因为它不在那里)。

  3. 激活它。

  4. 最后运行 2 个 Python 脚本(参数如 -n 或 -t 可以不同)将输出重定向到文本文件 output.out:

    ./scritp1.py -n 200 -t 0.01 | ./script2.py > 输出.out

  5. 继续做其他事情,比如分析 output.out。

我的疑惑在第2步和第3步之间,我不知道如何激活虚拟环境并继续正常执行脚本。

问题

  • 是否可以用 Python 本身来实现?

  • 如果没有,我看到可以制作一个 run_program.sh 来同时处理步骤 2 和 3,但我不知道如何去做。

最佳答案

你不需要激活virtualenv;使用 virtualenv python 二进制文件运行脚本就足够了,例如 /tmp/myenv/bin/python

您可以为 shell 命令激活 virtualenv:

. /tmp/myenv/bin/activate && ./scritp1.py -n 200 -t 0.01 | ./script2.py > output.out

如果 ./script1.py 使用 #!/usr/bin/env python shebang 或等价物,它会起作用。

关于python - 在 Python 脚本中激活 virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26562118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com