Resending, since the previous attempt was blocked by the mailing list.
On Tue, 19 Nov 2019 at 11:53 PM, Pradyun Gedam <pradyunsg(a)gmail.com> wrote:
> On Tue, Nov 19, 2019 at 1:31 PM Thomas Kluyver <thomas(a)kluyver.me.uk>
>> There seems to be a loose agreement in favour of changing the spec to
>> match what distutils & setuptools do, so I've opened a PR against the spec:
> The PR has been merged.
> Overall, this looks like a good idea to me, as might be clear from the
> fact that I approved the PR.
As a new Twine maintainer I've been running into questions like:
* Now that Warehouse doesn't use "register" anymore, can we deprecate it from distutils, setuptools, and twine? Are any other package indexes or upload tools using it? https://github.com/pypa/twine/issues/311
* It would be nice if Twine could depend on a package index providing an HTTP 201 response in response to a successful upload, and fail on 200 (a response some non-package-index servers will give to an arbitrary POST request).
I do not see specifications to guide me here, e.g., in the official guidance on hosting one's own package index https://packaging.python.org/guides/hosting-your-own-index/ . PEP 301 was long enough ago that it's due an update, and PEP 503 only concerns browsing and download, not upload.
I suggest that I write a PEP specifying an API for uploading to a Python package index. This PEP would partially supersede PEP 301 and would document the Warehouse reference implementation. I would write it in collaboration with the Warehouse maintainers who will develop the reference implementation per pypa/warehouse/issues/284 and maybe add a header referring to compliance with this new standard. And I would consult with the maintainers of packaging and distribution tools such as zest.releaser, flit, poetry, devpi, pypiserver, etc.
Per Nick Coghlan's formulation, my specific goal here would be close to:
> Documenting what the current upload API between twine & warehouse actually is, similar to the way PEP 503 focused on describing the status quo, without making any changes to it. That way, other servers (like devpi) and other upload clients have the info they need to help ensure interoperability.
Since Warehouse is trying to redo its various APIs in the next several months, I think it might be more useful to document and work with the new upload API, but I'm open to feedback on this.
After a little conversation here on distutils-sig, I believe my steps would be:
1. start a very early PEP draft with lots of To Be Determined blanks, submit as a PR to the python/peps repo, and share it with distutils-sig
2. ping maintainers of related tools
3. discuss with others at the packaging sprints https://wiki.python.org/psf/PackagingSprints next week
4. revise and get consensus, preferably mostly on this list
5. finalize PEP and get PEP accepted by BDFL-Delegate
6. coordinate with PyPA, maintainers of `distutils`, maintainers of packaging and distribution tools, and documentation maintainers to implement PEP compliance
Thoughts are welcome. I originally posted this at https://github.com/pypa/packaging-problems/issues/128 .
That is what i have after attempt to install pygame module in Python
c:\Users\AMD\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0>pip3.8 install pygame
Using cached https://files.pythonhosted.org/packages/0f/9c/78626be04e193c0624842090fe5...
ERROR: Command errored out with exit status 1:
command: 'C:\Users\AMD\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\python.exe' -c 'import sys, setuptools, tokenize; sys.argv = '"'"'C:\\Users\\AMD\\AppData\\Local\\Temp\\pip-install-fl0na0dp\\pygame\\setup.py'"'"'; __file__='"'"'C:\\Users\\AMD\\AppData\\Local\\Temp\\pip-install-fl0na0dp\\pygame\\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 pip-egg-info
Complete output (17 lines):
WARNING, No "Setup" File Exists, Running "buildconfig/config.py"
Using WINDOWS configuration...
Download prebuilts to "prebuilt_downloads" and copy to "./prebuilt-x64"? [Y/n]Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\AMD\AppData\Local\Temp\pip-install-fl0na0dp\pygame\setup.py", line 194, in <module>
File "C:\Users\AMD\AppData\Local\Temp\pip-install-fl0na0dp\pygame\buildconfig\config.py", line 210, in main
deps = CFG.main(**kwds)
File "C:\Users\AMD\AppData\Local\Temp\pip-install-fl0na0dp\pygame\buildconfig\config_win.py", line 576, in main
File "C:\Users\AMD\AppData\Local\Temp\pip-install-fl0na0dp\pygame\buildconfig\download_win_prebuilt.py", line 302, in ask
reply = raw_input(
EOFError: EOF when reading a line
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Python 3.7 did this operation without problem!?
I recently moved all the setup.py configuration into setup.cfg for
Pyroma. That worked very nicely. So I started doing it for my other
packages, but with svn.path I failed. Everything *looked* fine, and I
uploaded a 4.0 to PyPI, but if I install that in a virtualenv,
importing svg or svg.path fails. The Python installation can't find
them. Declaring them as a namespace means you can import them, but the
imports are empty, there is no attributes to the modules, so you still
can't use the package.
Is this possible? And if so, how?
Here's a link to the 4.0 release with all the info in the setup.cfg.