将代码使用egg加密后 如何才能正确的读取egg文件内的文件
在我的项目中 打包时候出现了错误 下面这行代码报错:
file = os.path.join("UI","Custom_UI","QToolTip.qss")
with open(file,'r') as f:
self.setStyleSheet(f.read())
这里的qss文件是一个需要被读取的文件 用来设置UI样式
压缩成egg后 运行报错:
C:\Users\xyj\Desktop\3.0.0-alpha>Traceback (most recent call last):
Traceback (most recent call last):
File "<string>", line 34, in <module>
File "C:\Users\xyj\Desktop\3.0.0-alpha\MOS.int", line 13, in <module>
Run()
File "C:\Users\xyj\Desktop\3.0.0-alpha\script\Code\MainWindow.py", line 544, in Run
ui = RunUi()
File "C:\Users\xyj\Desktop\3.0.0-alpha\script\Code\MainWindow.py", line 58, in __init__
self.__init__setToolTipDuration()
File "C:\Users\xyj\Desktop\3.0.0-alpha\script\Code\MainWindow.py", line 498, in __init__setToolTipDuration
self._toolTip = ToolTip(parent=self)
File "C:\Users\xyj\Desktop\3.0.0-alpha\script\UI\Custom_UI\QToolTip.py", line 44, in __init__
self.__setQss()
File "C:\Users\xyj\Desktop\3.0.0-alpha\script\UI\Custom_UI\QToolTip.py", line 66, in __setQss
with open(file,'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'UI\\Custom_UI\\QToolTip.qss'
之后我只好更改了代码 将需要被读取的内容改成一个py文件 并且内建一个函数 调用之后 就返回这个文件的内容 虽然这么可以解决这个问题 但是我并不想这么解决 (因为这个方法很不好 而且以后想快速的改这个qss列表 也很麻烦
改正前: https://github.com/xianyongjian080402/Minecraft-Optimal-Starter_3/tree/b068e9e212fe5cf668a50d4c83523f7510749c5f
改正后: https://github.com/xianyongjian080402/Minecraft-Optimal-Starter_3/tree/8629cf3f5d694ca0ba9eb55a28e1c94776f8b735
你加密代码就行了啊,因为加密资源很麻烦,加载代码就 python 一处。 但资源太多处了,不同的资源,不同的加载接口,你都要自己弄。
qss 这种,不太重要的,直接放在 PyStand 的目录里用就得了。
你加密代码就行了啊,因为加密资源很麻烦,加载代码就 python 一处。 但资源太多处了,不同的资源,不同的加载接口,你都要自己弄。
qss 这种,不太重要的,直接放在 PyStand 的目录里用就得了。
好的 我昨天打开这个issue之后还发现了个问题 当我把“script”这个文件删除之后 int里面的from Code.MainWindow import Run就开始报错找不到模块
int文件内容:
# coding=utf-8
"""主文件"""
import sys, os
os.chdir(os.path.dirname(__file__))
sys.path.append(os.path.abspath('script'))
#sys.path.append(os.path.abspath('script.egg'))
from Code.MainWindow import Run
if __name__ == '__main__':
Run()
egg的文件名也没有写错 我还试着把sys.path.append(os.path.abspath('script'))这行注释掉 可是还是没用
你加密代码就行了啊,因为加密资源很麻烦,加载代码就 python 一处。 但资源太多处了,不同的资源,不同的加载接口,你都要自己弄。 qss 这种,不太重要的,直接放在 PyStand 的目录里用就得了。
好的 我昨天打开这个issue之后还发现了个问题 当我把“script”这个文件删除之后 int里面的
from Code.MainWindow import Run就开始报错找不到模块int文件内容:
# coding=utf-8 """主文件""" import sys, os os.chdir(os.path.dirname(__file__)) sys.path.append(os.path.abspath('script')) #sys.path.append(os.path.abspath('script.egg')) from Code.MainWindow import Run if __name__ == '__main__': Run()egg的文件名也没有写错 我还试着把
sys.path.append(os.path.abspath('script'))这行注释掉 可是还是没用
你解决了吗 我也是这种情况 No module named 'script'
你加密代码就行了啊,因为加密资源很麻烦,加载代码就 python 一处。 但资源太多处了,不同的资源,不同的加载接口,你都要自己弄。 qss 这种,不太重要的,直接放在 PyStand 的目录里用就得了。
好的 我昨天打开这个issue之后还发现了个问题 当我把“script”这个文件删除之后 int里面的
from Code.MainWindow import Run就开始报错找不到模块 int文件内容:# coding=utf-8 """主文件""" import sys, os os.chdir(os.path.dirname(__file__)) sys.path.append(os.path.abspath('script')) #sys.path.append(os.path.abspath('script.egg')) from Code.MainWindow import Run if __name__ == '__main__': Run()egg的文件名也没有写错 我还试着把
sys.path.append(os.path.abspath('script'))这行注释掉 可是还是没用你解决了吗 我也是这种情况 No module named 'script'
呃没呢,我需要研究一下,最近比较忙,过段时间再说
不是项目的问题,是我的问题
我也有这样的问题,将script的代码压缩为zip后改后缀为egg,但是识别不出来任何py文件。如何解决