请教关于pyinstaller的使用

jeky_zhang2013 2016-08-31 11:21:39
最近开发了一个wxpython程序,想打包成exe给别人使用,在网上搜了下pyinstaller,安装了,能正常打包,命令:
pyinstaller -F -p core;tools;utils;parser;server --clean autotest_test_page.py
运行exe后报错:
File "autotest_construct\autotest_test_page.py", line 15, in <module>
File "c:\users\admini~1\appdata\local\temp\pip-build-v9txzy\pyinstaller\PyInst
ller\loader\pyimod03_importers.py", line 389, in load_module
File "autotest_construct\core\send_command.py", line 28, in <module>
from django.shortcuts import get_object_or_404
File "c:\users\admini~1\appdata\local\temp\pip-build-v9txzy\pyinstaller\PyInst
ller\loader\pyimod03_importers.py", line 389, in load_module
File "site-packages\django\shortcuts.py", line 9, in <module>
File "c:\users\admini~1\appdata\local\temp\pip-build-v9txzy\pyinstaller\PyInst
ller\loader\pyimod03_importers.py", line 389, in load_module
File "site-packages\django\core\urlresolvers.py", line 17, in <module>
File "c:\users\admini~1\appdata\local\temp\pip-build-v9txzy\pyinstaller\PyInst
ller\loader\pyimod03_importers.py", line 389, in load_module
File "site-packages\django\http\__init__.py", line 1, in <module>

File "c:\users\admini~1\appdata\local\temp\pip-build-v9txzy\pyinstaller\PyInst
ller\loader\pyimod03_importers.py", line 389, in load_module
File "site-packages\django\http\cookie.py", line 7, in <module>
File "site-packages\django\utils\six.py", line 203, in load_module
File "site-packages\django\utils\six.py", line 115, in _resolve
File "site-packages\django\utils\six.py", line 82, in _import_module
mportError: No module named Cookie
ailed to execute script autotest_test_page

pyinstalerl文件升级到最新的3.2版本了, 尝试了注释所有的django相关的代码,打包运行是正常的。
我又试了下 pyinstaller -F -p core;tools;utils;parser;server --hidden-import=Cookie;django.utils.six --clean autotest_test_page.py。还是报相同的错误,希望大家多多指教~~

还有个问题,程序中使用的资源文件打包后都到用户的temp文件下了,这个怎么附加处理?
...全文
386 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanxiaochengyu 2016-09-06
  • 打赏
  • 举报
回复
引用 7 楼 jeky198306 的回复:
[quote=引用 5 楼 a87b01c14 的回复:] [quote=引用 3 楼 jeky198306 的回复:] [quote=引用 1 楼 a87b01c14 的回复:] --hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
你好,我试了不行,改成hiddenimports=['django.http.cookie','Cookie','HTMLParser', 'django.template.defaulttags', 'django.template.loader_tags'],就可以了。 现在还有个问题,我把django项目包含在里面,外部脚本中配置os.environ['DJANGO_SETTINGS_MODULE']='server.server.settings' django 里面的wsgi.py中设置os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings"),没打成exe之前是可以运行的,现在打包成exe,报 django.setup() File "site-packages\django\__init__.py", line 17, in setup File "site-packages\django\conf\__init__.py", line 55, in __getattr__ File "site-packages\django\conf\__init__.py", line 43, in _setup File "site-packages\django\conf\__init__.py", line 99, in __init__ File "importlib\__init__.py", line 37, in import_module ImportError: No module named server.settings 你那边碰到过这种情况吗?[/quote] 上面说错了 hiddenimports 里面加[/quote] 你好,我还有个问题想请教下,比如我现在只改了一个python文件,能将这个文件更新到exe文件中么?而不是重新打包,我这个打包要5分钟左右。[/quote] 帮不到你了,不知道怎么处理
jeky_zhang2013 2016-09-06
  • 打赏
  • 举报
回复
引用 5 楼 a87b01c14 的回复:
[quote=引用 3 楼 jeky198306 的回复:] [quote=引用 1 楼 a87b01c14 的回复:] --hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
你好,我试了不行,改成hiddenimports=['django.http.cookie','Cookie','HTMLParser', 'django.template.defaulttags', 'django.template.loader_tags'],就可以了。 现在还有个问题,我把django项目包含在里面,外部脚本中配置os.environ['DJANGO_SETTINGS_MODULE']='server.server.settings' django 里面的wsgi.py中设置os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings"),没打成exe之前是可以运行的,现在打包成exe,报 django.setup() File "site-packages\django\__init__.py", line 17, in setup File "site-packages\django\conf\__init__.py", line 55, in __getattr__ File "site-packages\django\conf\__init__.py", line 43, in _setup File "site-packages\django\conf\__init__.py", line 99, in __init__ File "importlib\__init__.py", line 37, in import_module ImportError: No module named server.settings 你那边碰到过这种情况吗?[/quote] 上面说错了 hiddenimports 里面加[/quote] 你好,我还有个问题想请教下,比如我现在只改了一个python文件,能将这个文件更新到exe文件中么?而不是重新打包,我这个打包要5分钟左右。
jeky_zhang2013 2016-09-06
  • 打赏
  • 举报
回复
引用 5 楼 a87b01c14 的回复:
[quote=引用 3 楼 jeky198306 的回复:] [quote=引用 1 楼 a87b01c14 的回复:] --hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
你好,我试了不行,改成hiddenimports=['django.http.cookie','Cookie','HTMLParser', 'django.template.defaulttags', 'django.template.loader_tags'],就可以了。 现在还有个问题,我把django项目包含在里面,外部脚本中配置os.environ['DJANGO_SETTINGS_MODULE']='server.server.settings' django 里面的wsgi.py中设置os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings"),没打成exe之前是可以运行的,现在打包成exe,报 django.setup() File "site-packages\django\__init__.py", line 17, in setup File "site-packages\django\conf\__init__.py", line 55, in __getattr__ File "site-packages\django\conf\__init__.py", line 43, in _setup File "site-packages\django\conf\__init__.py", line 99, in __init__ File "importlib\__init__.py", line 37, in import_module ImportError: No module named server.settings 你那边碰到过这种情况吗?[/quote] 上面说错了 hiddenimports 里面加[/quote] 多谢,我发现把django工程和本地工具放在一起不是很灵活,我把写数据库的操作改成mysqldb来实现了,这样也不会暴露服务器的代码。
sanxiaochengyu 2016-09-02
  • 打赏
  • 举报
回复
引用 3 楼 jeky198306 的回复:
[quote=引用 1 楼 a87b01c14 的回复:] --hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
你好,我试了不行,改成hiddenimports=['django.http.cookie','Cookie','HTMLParser', 'django.template.defaulttags', 'django.template.loader_tags'],就可以了。 现在还有个问题,我把django项目包含在里面,外部脚本中配置os.environ['DJANGO_SETTINGS_MODULE']='server.server.settings' django 里面的wsgi.py中设置os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings"),没打成exe之前是可以运行的,现在打包成exe,报 django.setup() File "site-packages\django\__init__.py", line 17, in setup File "site-packages\django\conf\__init__.py", line 55, in __getattr__ File "site-packages\django\conf\__init__.py", line 43, in _setup File "site-packages\django\conf\__init__.py", line 99, in __init__ File "importlib\__init__.py", line 37, in import_module ImportError: No module named server.settings 你那边碰到过这种情况吗?[/quote] 上面说错了 hiddenimports 里面加
sanxiaochengyu 2016-09-02
  • 打赏
  • 举报
回复
引用 3 楼 jeky198306 的回复:
[quote=引用 1 楼 a87b01c14 的回复:] --hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
你好,我试了不行,改成hiddenimports=['django.http.cookie','Cookie','HTMLParser', 'django.template.defaulttags', 'django.template.loader_tags'],就可以了。 现在还有个问题,我把django项目包含在里面,外部脚本中配置os.environ['DJANGO_SETTINGS_MODULE']='server.server.settings' django 里面的wsgi.py中设置os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings"),没打成exe之前是可以运行的,现在打包成exe,报 django.setup() File "site-packages\django\__init__.py", line 17, in setup File "site-packages\django\conf\__init__.py", line 55, in __getattr__ File "site-packages\django\conf\__init__.py", line 43, in _setup File "site-packages\django\conf\__init__.py", line 99, in __init__ File "importlib\__init__.py", line 37, in import_module ImportError: No module named server.settings 你那边碰到过这种情况吗?[/quote] server.settings 里面 继续加server.settings
jeky_zhang2013 2016-09-01
  • 打赏
  • 举报
回复
引用 1 楼 a87b01c14 的回复:
--hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
你好,我试了不行,改成hiddenimports=['django.http.cookie','Cookie','HTMLParser', 'django.template.defaulttags', 'django.template.loader_tags'],就可以了。 现在还有个问题,我把django项目包含在里面,外部脚本中配置os.environ['DJANGO_SETTINGS_MODULE']='server.server.settings' django 里面的wsgi.py中设置os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings"),没打成exe之前是可以运行的,现在打包成exe,报 django.setup() File "site-packages\django\__init__.py", line 17, in setup File "site-packages\django\conf\__init__.py", line 55, in __getattr__ File "site-packages\django\conf\__init__.py", line 43, in _setup File "site-packages\django\conf\__init__.py", line 99, in __init__ File "importlib\__init__.py", line 37, in import_module ImportError: No module named server.settings 你那边碰到过这种情况吗?
jeky_zhang2013 2016-08-31
  • 打赏
  • 举报
回复
引用 1 楼 a87b01c14 的回复:
--hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393
多谢,我试下~~
sanxiaochengyu 2016-08-31
  • 打赏
  • 举报
回复
--hidden-import=django.http.cookie 应该也是这么写的,试试吧。 把配置项写在.spec里面,然后pyinstall .spec文件,这样配置方便点。 我有篇文章将打包pygtk的,道理差不多,你可以参考下http://blog.csdn.net/a87b01c14/article/details/52229393

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧