syncMyMoodle icon indicating copy to clipboard operation
syncMyMoodle copied to clipboard

whl package does not include an executable

Open LuckyTurtleDev opened this issue 2 years ago • 4 comments

The whl package does only include side packages and no executable.

$ tree 
.
└── lib
    └── python3.10
        └── site-packages
            ├── syncmymoodle
            │   ├── debug.py
            │   ├── __init__.py
            │   ├── __main__.py
            │   └── __pycache__
            │       ├── debug.cpython-310.opt-1.pyc
            │       ├── debug.cpython-310.pyc
            │       ├── __init__.cpython-310.opt-1.pyc
            │       ├── __init__.cpython-310.pyc
            │       ├── __main__.cpython-310.opt-1.pyc
            │       └── __main__.cpython-310.pyc
            └── syncMyMoodle-0.0.3.dist-info
                ├── LICENSE
                ├── METADATA
                ├── RECORD
                ├── top_level.txt
                └── WHEEL

Step to reproduce:

  • build whl package
  • install whl package
python -m build --wheel --no-isolation
python -m installer --destdir=test dist/*.whl

LuckyTurtleDev avatar Apr 11 '22 17:04 LuckyTurtleDev

I am not sure what you are missing. syncmymoodle like most python packages does not have a binary executable and in the shown directory structure every file required to run smm seems to be present.

septatrix avatar Apr 18 '22 18:04 septatrix

Please clarify, otherwise this will be closed

septatrix avatar Aug 02 '22 13:08 septatrix

I have execute the install command listed above. But the executable is missing. Sadly I am not familiar enough with python, to be able to say, why this happen. I have try to follow the arch package guidelines for pythons wheel format, witch is used by this project. see https://wiki.archlinux.org/title/Python_package_guidelines#Standards_based_(PEP_517)

I was able to workaround this issues by installing manual the __main__.py and ignore the package system of python. see https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=sync-my-moodle-git#n28. But this avoid that pycache can be used.

LuckyTurtleDev avatar Aug 02 '22 18:08 LuckyTurtleDev

Ah yes to packaging tools this is just a library and has no entrypoints. On the v2 Branch I have declared a proper entrypoint though I have not touched that branch in months sadly.

However with your current setup you should still be able to call it like python3 -m syncmymoodle.

septatrix avatar Aug 02 '22 19:08 septatrix