python 3

Py2exe / PyInstaller: NameError: name 'exit' is not defined

Python logóProbléma: Py2exe vagy PyInstaller alkalmazással próbálsz a Python kódodból hordozható, Windows alatt futtatható binárist fordítani. A fordítás sikeres, de mikor a programod az exit() függvényt hívja, a NameError: name 'exit' is not defined hibát kapod.
Megoldás: A sys modulból használd az exit függvényt.

import sys
sys.exit(0)

Python – pymssql throws ImportError: No module named '_mssql'

Python logóProbléma: A pyinstallerrel fordított Windows bináris a következő hibával száll el:

> test.exe
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import pymssql
  File "C:\Python34\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 573, in load_module
    module = loader.load_module(fullname)
  File "_mssql.pxd", line 10, in init pymssql (pymssql.c:12429)
ImportError: No module named '_mssql'
Failed to execute script test

c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory

Probléma: A python3-bcrypt csomag telepítése a következő hibaüzenettel meghiúsul:

c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
   #include <ffi.h>
               ^
  compilation terminated.

Python virtualenv: Python 2 kikényszerítése

Probléma: A rendszereden a Python 3 az alapértelmezett, ám neked Python 2-es virtualenv környezetre van szükséged.
Megoldás: A virtualenv parancshoz használd a -p python2 kapcsolót: virtualenv -p python2 venv