[Share Experiences] Linux编程--打包deb并安装后程序运行无法读取相对路径文件的问题
Tofloor
poster avatar
nexfia
deepin
2021-05-07 05:46
Author

写了个用于PDF OCR识别的小工具,并打包成了deb。

但安装完运行后,发现我在程序里用相对路径加载的图片却显示不出来了。

但我在调试时又好好的。查了半天资料,发现是Linux本身的问题。

既然是把工作目录设到别的地方去了,那我们把工作目录设回来程序所在目录就好了。

我原本的程序执行脚本是这样的

#!/bin/bash  
python3 /opt/apps/nexfia.pdf-ocr/PDFOCR.cpython-37.pyc

要把工作目录改回来,直接用cd命令在执行程序之前进入程序所在目录就好了。

#!/bin/bash  
cd /opt/apps/nexfia.pdf-ocr
python3 /opt/apps/nexfia.pdf-ocr/PDFOCR.cpython-37.pyc

现在再重新打开程序,可以看到图片已经加载出来了。

参考链接:https://blog.csdn.net/yinxusen/article/details/7444249

Reply Favorite View the author
All Replies
sudo_free
deepin
2021-05-07 06:23
#1

分享一下我的deb打包方法,https://github.com/iamhyc/mind-flash/blob/f2491889b424de44e3fab04a33bd6ebb65acaf8c/Makefile#L29

(源文件+资源按目录结构扔opt里,`/usr/bin`里用软链接到opt里)

 

附一个Python原生解决方法:https://setuptools.readthedocs.io/en/latest/pkg_resources.html

Reply View the author
nexfia
deepin
2021-05-07 06:51
#2
sudo_free

分享一下我的deb打包方法,https://github.com/iamhyc/mind-flash/blob/f2491889b424de44e3fab04a33bd6ebb65acaf8c/Makefile#L29

(源文件+资源按目录结构扔opt里,`/usr/bin`里用软链接到opt里)

 

附一个Python原生解决方法:https://setuptools.readthedocs.io/en/latest/pkg_resources.html

感谢分享。想问下makefile是自动生成的吗?还是需要自己写的?

Reply View the author
sudo_free
deepin
2021-05-07 06:55
#3
nexfia

感谢分享。想问下makefile是自动生成的吗?还是需要自己写的?

Makefile需要自己写,按照自己喜好写就行;

如果你的项目用C/CPP,可以用cmake之类的构建工具

Reply View the author
nexfia
deepin
2021-05-07 07:10
#4
sudo_free

Makefile需要自己写,按照自己喜好写就行;

如果你的项目用C/CPP,可以用cmake之类的构建工具

我用的Python

Reply View the author