pfalcon / pycopy-lib

Standard library of the Pycopy project, minimalist and light-weight Python language implementation
https://github.com/pfalcon/pycopy
Other
246 stars 70 forks source link

Missing files in sdist #55

Closed thatch closed 4 years ago

thatch commented 4 years ago

It appears that the manifest is missing at least one file necessary to build from the sdist for version 3.6. You're in good company, about 5% of other projects updated in the last year are also missing files.

+ /tmp/venv/bin/pip3 wheel --no-binary pycopy-uasyncio -w /tmp/ext pycopy-uasyncio==3.6
Looking in indexes: http://10.10.0.139:9191/root/pypi/+simple/
Collecting pycopy-uasyncio==3.6
  Downloading http://10.10.0.139:9191/root/pypi/%2Bf/ba6/0f9775fd541f4/pycopy-uasyncio-3.6.tar.gz (4.9 kB)
    ERROR: Command errored out with exit status 1:
     command: /tmp/venv/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-wheel-z5h5ne9q/pycopy-uasyncio/setup.py'"'"'; __file__='"'"'/tmp/pip-wheel-z5h5ne9q/pycopy-uasyncio/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-wheel-z5h5ne9q/pycopy-uasyncio/pip-egg-info
         cwd: /tmp/pip-wheel-z5h5ne9q/pycopy-uasyncio/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python3.8/tokenize.py", line 392, in open
        buffer = _builtin_open(filename, 'rb')
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-wheel-z5h5ne9q/pycopy-uasyncio/setup.py'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
pfalcon commented 4 years ago

Is this a post by an automated bot? If not, elaborate how "pip3", "3.6", "sdist", "wheel" apply to this project.

thatch commented 4 years ago

It's not entirely automated. Basically pip install --no-binary=pycopy-uasyncio pycopy-uasyncio to force using the sdist fails, because your sdist is missing some files.

Some companies and distros want to compile everything from source, so pass --no-binary :all:, for example https://github.com/dropbox/dbx_build_tools/blob/master/build_tools/py/vpip.py#L311

thatch commented 4 years ago

And I just realized this is for a missing setup.py. Nevermind, that's a bigger issue.

pfalcon commented 4 years ago

This is the project which defines its own minimalist Python-like ecosystem. With this project, packages aren't installed with "pip3", they're installed with "upip" as described in the docs: https://pycopy.readthedocs.io/en/latest/reference/packages.html . And for "upip" there're no missing files in the packages (or at least, nobody reported that with a reproduction instructions).