小编ste*_*a79的帖子

启动时在虚拟环境中运行 python 脚本

我想在启动时从虚拟环境启动 python 脚本。我搜索了整个论坛和其他来源,但未能使其发挥作用。

脚本应在脚本目录作为工作目录运行,并且启动脚本的终端应保持可见。

我主要使用了“启动应用程序”和 ~/user/.config/autostart 中 .desktop 文件的不同配置

我尝试过运行单独工作的 shell 文件,如下所示:

[Desktop Entry]
Type=Application
Terminal=true
Exec=/home/user/autostart.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=True
Name=autostart_shell
Comment=
Run Code Online (Sandbox Code Playgroud)

和 .sh 文件

#!/usr/bin/env bash
sleep 10
cd /home/user/environment
bin/python3 main.py
bash
Run Code Online (Sandbox Code Playgroud)

或者类似的东西

#!/usr/bin/env bash
sleep 10
cd /home/user/environment
source bin/activate 
python3 main.py
bash
Run Code Online (Sandbox Code Playgroud)

然而环境永远不会被激活。

我还尝试了其他 .desktop-configurations 如下但没有成功

[Desktop Entry]
Type=Application
Path=/home/user/env/
Terminal=true
Exec=gnome-terminal --command 'bash -ec "sleep 10;cd /home/user/env;source bin/activate;python3 main.py;bash"'
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Run Code Online (Sandbox Code Playgroud)

我花了一天的大部分时间都没有成功,有人有任何想法吗?

更新 好的,经过一些工作后,问题与激活虚拟环境有关。

我正在使用“启动应用程序”来运行 shell 脚本。我已经尝试了 gnome-terminal 和 xterm ,结果相同。以下是 *.desktop 作业中的命令

gnome-terminal …
Run Code Online (Sandbox Code Playgroud)

python boot autostart virtualenv 16.04

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

16.04 ×1

autostart ×1

boot ×1

python ×1

virtualenv ×1