Closed TotoroQwQ closed 2 years ago
又来了,好像不兼容pyinstaller打包,辛苦大佬看一下。感觉还是nb_log包和被引用的项目耦合性强了,强制指定了项目地址
自己在项目中先生自动生成好这个文件就行了,也可以自己复制到项目根目录下
自己在项目中先生自动生成好这个文件就行了,也可以自己复制到项目根目录下
试了下,将这个文件复制一份到项目根目录下面也不行,还是报这个文件找不到,这个路径也挺奇怪的,并不是工作路径。
重新试了一个单文件的最简单程序也不行。
需要设置个 PYTHONPATH,或者就很low的在项目起点python脚本添加 sys.path.insert(1,项目根目录)
看pythonpath https://github.com/ydf0509/pythonpathdemo
print(sys.path[1]) 就能显示项目根目录了,
需要设置个 PYTHONPATH,要么就很low的在项目起点python脚本添加 sys.path.insert(1,项目根目录)
打包后设置pythonpath还有用吗,设置了下,也是报错,我试试后者
了解了一下pyinstaller原理,我是打包成onefile模式,最终是一个exe文件,但是运行时会在系统的临时文件夹里面生成一个目录,每次运行不一样,就是上面的那个奇怪的路径了,,,有点眉目,我试着改一下 https://blog.csdn.net/Mantana/article/details/112343895
print(sys.path[1]),项目如果没从这个中间件找到nb_log_config.py 就会自动复制文件,关键你要知道你的sys.path[1]是什么现在。
print(sys.path[1]),项目如果没从这个中间件找到nb_log_config.py 就会自动复制文件,关键你要知道你的sys.path[1]是什么现在。
现在不是pythonpath的问题,我在代码里面加了这个也没用。
sys.path.insert(1, 'c:\\Users\\chens\\Desktop\\test')。
影响不到打包编译后的代码,设不设置都打印的下面这个。👇
16:26:02 "nb_log\set_nb_log_config.py:40" 当前项目的根目录是:
C:\Users\chens\AppData\Local\Temp\_MEI111602\lib-dynload # 这是程序打印的初始
先不看这个,问题在于
# 这个是我在nb_log_default_config.py 里面加的一个打印Path(__file__)
path.file.default.py= C:\Users\chens\AppData\Local\Temp\_MEI111602\nb_log\nb_log_config_default.pyc
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\chens\AppData\Local\Temp\_MEI111602\nb_log\nb_log_config_default.pyc'