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.

Reply via email to