py2exe ImportError: No module named sip

來源:互聯網
上載者:User

簡單解決方案: c:\Python26\python.exe setup.py py2exe --includes sip

 

使用pyqt完成表單介面很方便,但是打包成exe之後會有問題,在網上找到解決辦法如下:

Another Solution to the same problem:

from distutils.core import setup
import py2exe
setup(windows=[{"script":"main.py"}], options={"py2exe":{"includes":["sip"]}})

I found that on the web, unfortunately don't know anymore where, but it also works for me!

Obviously is the second part only a way to get the " --includes sip" parameter directly into the script, but the use of "windows" instead of "console" doesn't open a console window, but immediately a Qt window in my case.

Fix for PyQt4

If you get the following error:

ImportError: No module named _qt

The solution is to add PyQt4._qt to the setup function (see bellow). I found the solution for the problem here.

切換行號顯示

   1 from distutils.core import setup
2 import py2exe
3
4 setup(windows=[{"script" : "app.pyw"}], options={"py2exe" : {"includes" : ["sip", "PyQt4._qt"]}})
 
官方的解決方案:
http://www.py2exe.org/index.cgi/Py2exeAndPyQt
官方的pyexe手冊:
http://www.py2exe.org/index.cgi/Tutorial#Step1

ImportError: No module named sip2009-11-07 21:21

Error message

File "form1.pyc", line 11, in ?  File "qt.pyc", line 9, in ?  File "qt.pyc", line 7, in __loadImportError: No module named sip

Solution

python setup.py py2exe --includes sip

setup.py

Toggle line numbers

   1 from py2exe.build_exe import py2exe   2 from distutils.core import setup   3 setup( console=[{"script": "main.py"}] )

Reference

I found this tips here : http://nerdierthanthou.nfshost.com/2005/03/image-resizer.html

There is a full code sample.

Another Solution to the same problem:

from distutils.core import setupimport py2exesetup(windows=[{"script":"main.py"}], options={"py2exe":{"includes":["sip"]}})

I found that on the web, unfortunately don't know anymore where, but it also works for me!

Obviously is the second part only a way to get the " --includes sip" parameter directly into the script, but the use of "windows"
instead of "console" doesn't open a console window, but immediately a Qt window in my case.

Fix for PyQt4

If you get the following error:

ImportError: No module named _qt

The solution is to add PyQt4._qt to the setup function (see bellow). I found the solution for the problem here.

Toggle line numbers

   1 from distutils.core import setup   2 import py2exe   3    4 setup(windows=[{"script" : "app.pyw"}], options={"py2exe" : {"includes" : ["sip", "PyQt4._qt"]}})

Using PyQt4 with Databases

When deploying applications which use PyQt4 and
SQLite:

  • Add "PyQt4.QtSql'
    to the setup includes.

  • Copy the contents of PyQt4\plugins\sqldrivers
    to <appdir>\sqldrivers. It did not work for me in any subdirectory including the zipfile directory. For SQLite I only needed to copy qsqlite4.dll.

  • A separate copy of sqlite3.dll is not needed.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.