Sat*_*nna 2 python linux tkinter virtualenv
我创建了一个使用 virtualenv 进行依赖的 python 脚本 ExeMain.py。因此,要使用 .desktop 启动此脚本,我执行了此命令
Exec=sh -c 'source ~/PycharmProjects/ProBlog/venv/bin/activate; python ~/PycharmProjects/ProBlog/ExeMain.py;'
Run Code Online (Sandbox Code Playgroud)
这导致了这个错误“sh:1:源:找不到”,然后是“ImportError”
如果 .desktop 文件中没有 source 命令,并且在直接 python 环境中安装了所有必需的模块,则它可以正常工作(在其他 Linux 机器中)。因为这似乎不是一个好的做法,所以我尝试使用 venv。从我看到的错误来看,导入错误是因为未执行源命令。
当我启动 .desktop 文件时,它应该执行 ExeMain.py 文件。
标准版本sh没有该source命令。也许使用 /bin/bash 代替?所以它会被写成这样:
Exec=/bin/bash -c 'source /home/username/PycharmProjects/ProBlog/venv/bin/activate && /home/username/PycharmProjects/ProBlog/venv/bin/python /home/username/PycharmProjects/ProBlog/ExeMain.py'
Run Code Online (Sandbox Code Playgroud)
我还建议其他三个更改:1)操作符,以便在完成&&之前不会尝试运行 python 代码,2)用完整路径替换波浪号,以防桌面环境无法正确扩展它,3 )输入 venv python 的完整路径,这样它就不会默认为系统 python。其中一些可能不是必需的(取决于系统设置),但小心一点总没有坏处。activate~
| 归档时间: |
|
| 查看次数: |
2525 次 |
| 最近记录: |