With the help of https://blog.ionelmc.ro/2014/05/25/python-packaging/ and https://ep2015.europython.eu/conference/talks/less-known-packaging-features-and-tricks I have managed to get a Leo wheel distribution built and uploaded to Test PyPi. It installs and works on Linux Mint[0] 18.2 and Windows 7 x64.
Please test with pip install --index-url https://test.pypi.org/simple/ leo which should fetch "leo-5.6.post3" (I had to hardcode a test version number because pypi doesn't allow re-use of same number) [0] On my linux box `leo` doesn't work from command line. I had to specify full path `python ~/.local/lib/python2.7/site-packages/leo/scripts/lunchLeo.py`) Pushed to setup branch as 8616d58 <https://github.com/leo-editor/leo-editor/commit/8616d58d31be80d7d13c00a3c731c76f7f7333ae> . Matt On Thu, Oct 5, 2017 at 11:18 PM, Matt Wilkie <map...@gmail.com> wrote: > I uploaded a test release to Test PyPi, but it's broken. My suspicion is > that not all files are present in the distribution archive. I remember > struggling with Manifest and related instructions last time. > > To test install: > > pip install --no-binary :all: --index-url > https://test.pypi.org/simple/ leo > > > Result: > > > ~~~ > > B:\apps\leo-editor>leoc.exe > > reading settings in D:\Matt\Dropbox\.leo\myLeoSettings.leo > > Note: sys.stdout.encoding is not UTF-8 > See: https://stackoverflow.com/questions/14109024 > > Leo 5.6 > Not running from a git repo > Python 2.7.10, PyQt version 4.8.7 > Windows 7 AMD64 (build 6.1.7601) SP1 > ** isPython3: False > ** caching enabled > > Traceback (most recent call last): > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\Scripts\leoc-script.py", > line 9, in <module> > load_entry_point('leo==5.6.1', 'console_scripts', 'leoc')() > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\runLeo.py", > line 7 > 1, in run > g.app.loadManager.load(fileName, pymacs) > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\leoApp.py", > line 2 > 117, in load > ok = lm.doPostPluginsInit() > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\leoApp.py", > line 2 > 733, in doPostPluginsInit > c1 = lm.openEmptyWorkBook() > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\leoApp.py", > line 2 > 794, in openEmptyWorkBook > c = lm.loadLocalFile(fn, gui=g.app.gui, old_c=None) > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\leoApp.py", > line 2 > 959, in loadLocalFile > c = lm.openFileByName(fn, gui, old_c, previousSettings) > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\leoApp.py", > line 2 > 983, in openFileByName > previousSettings=previousSettings) > File > "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site-packages\leo\core\leoApp.py", > line 1 > 233, in newCommander > return leoCommands.Commands(fileName, relativeFileName, gui, > previousSettings) > File "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site- > packages\leo\core\leoCommands.py", l > ine 81, in __init__ > c.finishCreate() > File "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site- > packages\leo\core\leoCommands.py", l > ine 388, in finishCreate > c.frame.finishCreate() > File "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site- > packages\leo\plugins\qt_frame.py", l > ine 2062, in finishCreate > f.top = g.app.gui.frameFactory.createFrame(f) > File "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site- > packages\leo\plugins\qt_frame.py", l > ine 4554, in createFrame > self.createMaster() > File "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site- > packages\leo\plugins\qt_frame.py", l > ine 4578, in createMaster > g.app.gui.attachLeoIcon(mf) > File "C:\apps\win-python-2.7-x64\python-2.7.10.amd64\lib\site- > packages\leo\plugins\qt_gui.py", lin > e 825, in attachLeoIcon > window.setWindowIcon(self.appIcon) > TypeError: QWidget.setWindowIcon(QIcon): argument 1 has unexpected type > 'NoneType' > > > ~~~ > > > matt > > > > > On Thu, Oct 5, 2017 at 11:13 PM, Matt Wilkie <map...@gmail.com> wrote: > >> As of 277e60c >> <https://github.com/leo-editor/leo-editor/commit/277e60cba7fec4228cbb54b19ffbdcc65ad7a6a5> >> the gui launcher works too. I had a typo in the run invocation. So now >> `leo` is for gui mode and `leoc` is console. >> >> On Thu, Oct 5, 2017 at 9:29 PM, Matt Wilkie <map...@gmail.com> wrote: >> >>> I've pushed an update to the `setup.py` branch that works with pip >>> install in my system (PyQt and Sip need to be installed already.): >>> >>> pip install --editable "b:\path\to\code\leo-editor-branch" >>> >>> This creates 2 launch files in PYTHONHOME\Scripts folder: >>> >>> leoc = console Leo >>> leow = gui mode Leo >>> >>> Console mode still launches the GUI, but writes log output to a console >>> shell window. >>> >>> Gui mode is broken. The launcher is created, but nothing happens when it >>> is run. Perhaps the run incantation (`leo.core.runLeo.run`) needs to be >>> different? I couldn't find much documentation on the `gui_scripts` entry >>> point setuptools uses so maybe this isn't really supported. >>> >>> I used `leoc` and `leow` so as not to conflict with any other >>> launchers/scripts that might be in PATH -- easier testing. When we know >>> this approach works reliably it can be trimmed to just `leo`. >>> >>> Branch: https://github.com/leo-editor/leo-editor/tree/setup.py >>> >>> Testing appreciated! >>> >>> Matt >>> >>> >>> >>> >>> >>> >> > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com. To post to this group, send email to leo-editor@googlegroups.com. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.