cloudmatrix / esky

an auto-update framework for frozen python apps
BSD 3-Clause "New" or "Revised" License
363 stars 74 forks source link

fix for issues #99, #107 #110

Closed topic2k closed 8 years ago

timeyyy commented 8 years ago

Did you run the tests? unfortunately not all tests are running from travis.

topic2k commented 8 years ago

No, i didn't. Are those tests other than travis tests?

timeyyy commented 8 years ago

it is the same test suite, but different tests run depending on what operating system and freezers are installed, you can find the tests in the esky folder, (travis only checks for linux not windows)

topic2k commented 8 years ago

Ok, i run the test with py2:

py -2 -m pytest esky/tests/ -x
============================= test session starts =============================
platform win32 -- Python 2.7.10, pytest-2.8.3, py-1.4.31, pluggy-0.3.1
rootdir: c:\Python27\Lib\site-packages\esky\tests, inifile:
collected 38 items

esky\tests\test_esky.py ......................................

========================= 38 passed in 24.46 seconds ==========================

and with py3:

py -3.4 -m pytest esky/tests/ -x
============================= test session starts =============================
platform win32 -- Python 3.4.3, pytest-2.8.3, py-1.4.31, pluggy-0.3.1
rootdir: c:\Python34\Lib\site-packages\esky\tests, inifile:
collected 0 items / 1 errors

=================================== ERRORS ====================================
________________________ ERROR collecting test_esky.py ________________________
_pytest\python.py:606: in _importtestmodule
    mod = self.fspath.pyimport(ensuresyspath=importmode)
py\_path\local.py:650: in pyimport
    __import__(modname)
E     File "c:\Python34\Lib\site-packages\esky\__init__.py", line 254
E       except OSError, e:
E                     ^
E   SyntaxError: invalid syntax
=========================== 1 error in 0.13 seconds ===========================
timeyyy commented 8 years ago

the test suite only runs on python2, that is one of the reasons my py3k branch exists, If you could confirm building an esky with py2exe using python3 works we are good to merge. Make sure to reinstall esky for python3 ( this isn't requred for python2 but as i mentioned before the python3 code is generated when installing)

topic2k commented 8 years ago

ok, will do some test now.

topic2k commented 8 years ago

what i did now, is:

---------------------------- Captured stderr call -----------------------------
Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'
!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!
===================== 1 failed, 2 passed in 38.70 seconds =====================

So i think this commit/PR doesn't work and i can close/delete it?

timeyyy commented 8 years ago

no no no, don't delete this, please read my above message about the test suite, to summarize python2 -m pytest pip3 install -e esky

manually test esky with python3, you can use the tutorial/stage1 if you like. just edit the setup.py to use py2exe instead of cxfreeze then run python3 setup.py bdist_esky

unzip and make sure it runs,

if you are installing using pip install -e (developer mode) you will not have to delete the package it will just overwrite it.

topic2k commented 8 years ago

With python2 i've already tested successfull (some comments above). On python3 the script is freezed/zipped, but when i run it, it chrashes and gives me this error

Fatal Python error: Py_Initialize: unable to load the file system codec
ImportError: No module named 'encodings'

This error is with the bootstrap exe. The exe in the subfolder runs fine.

timeyyy commented 8 years ago

The above is a separate issue,

The original issue was fixed by this patch closes #99 and # 107