Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

将代码使用egg加密后 如何才能正确的读取egg文件内的文件 #24

Open
David-xian66 opened this issue Oct 21, 2022 · 6 comments

Comments

@David-xian66
Copy link

David-xian66 commented Oct 21, 2022

在我的项目中 打包时候出现了错误 下面这行代码报错:

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

@skywind3000
Copy link
Owner

你加密代码就行了啊,因为加密资源很麻烦,加载代码就 python 一处。
但资源太多处了,不同的资源,不同的加载接口,你都要自己弄。

qss 这种,不太重要的,直接放在 PyStand 的目录里用就得了。

@David-xian66
Copy link
Author

你加密代码就行了啊,因为加密资源很麻烦,加载代码就 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'))这行注释掉 可是还是没用

@Ephemeralwanning
Copy link

你加密代码就行了啊,因为加密资源很麻烦,加载代码就 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'

@David-xian66
Copy link
Author

你加密代码就行了啊,因为加密资源很麻烦,加载代码就 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'

呃没呢,我需要研究一下,最近比较忙,过段时间再说

@David-xian66
Copy link
Author

不是项目的问题,是我的问题

@zty1122zty
Copy link

我也有这样的问题,将script的代码压缩为zip后改后缀为egg,但是识别不出来任何py文件。如何解决

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants