[x3d-public] x3d.py package: PyPi troubleshooting continues
John Carlson
yottzumm at gmail.com
Mon Mar 7 22:06:45 PST 2022
Wifi-based internet is down, I may try a hotspot.
On Mon, Mar 7, 2022 at 11:41 PM John Carlson <yottzumm at gmail.com> wrote:
> It sounds like you’ve got it working without PYTHONPATH! Progress!
>
> I’ll try to generate more ideas tonight and tomorrow. I’m about ready to
> turn into a pumpkin.
>
> John
>
> On Mon, Mar 7, 2022 at 11:08 PM Brutzman, Donald (Don) (CIV) <
> brutzman at nps.edu> wrote:
>
>> Thanks John and Moritz for actual testing plus questions and ideas, very
>> helpful.
>>
>>
>>
>> Am progressing. Have made a number of configuration efforts and some
>> internal changes.
>>
>>
>>
>> 1. Completely uninstalled and reinstalled Python 3.10.2 on primary
>> machine and secondary machine, including scrub of user-cache directories.
>> 2. Building and testing local installation on primary machine,
>> testing PyPi package installation on second machine.
>> 3. Completely reviewed the python packaging instructions and related
>> pages, line by line.
>> 4. Replaced/refactored setup.py to avoid deprecation warning, same
>> information now appearing as setup.cfg and pyproject.toml.
>> 5. Instrumented the pypi-packaged __init__.py to successively test
>> different import statements and report which incantation works.
>> 6. Started using fourth-digit version variations for testing minor
>> changes to pypi. Latest is x3d 4.0.62.6
>> 7. Updated details about workaround on home page.
>> 8. Added a file-length check when building to check prior to
>> deployment and ensure that the full x3d.py was getting included in .tar.gz
>> deliverables.
>> 9. Added direct download link for latest x3d.py on pypi page.
>> 10. Created dependency for xmlschema package so that XML validation
>> is automatically supported.
>> 11. Responding to your questions: the entire build process is
>> automated, uploads to pypi are via twine (with upload progress bar visible)
>> , outputs are logged in version control, and everything is
>> committed/inspectable.
>>
>>
>>
>> - https://pypi.org/project/x3d
>> - https://www.web3d.org/x3d/stylesheets/python/python.html
>> - https://www.web3d.org/x3d/stylesheets/python/x3d.py
>> - https://sourceforge.net/p/x3d/tickets/19
>> -
>> https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python
>>
>>
>>
>> My current test arrangement is much more predictable/reliable. Made some
>> small improvements to package itself (e.g. exception handling for XML
>> validation when network is down or host certificate is mismatched). Only a
>> single package is created, x3d.py with no subpackages.
>>
>>
>>
>> Status:
>>
>> 1. Regular install of x3d.py requires regular setup in source,
>> i.e. *from x3d import **
>> 2. PyPi installation of x3d.py requires double-prefix in source, i.e. *from
>> x3d.x3d import **
>>
>>
>>
>> And so, getting pretty close… I suspect the missing fix will be going in
>> setup.cfg file, but not sure what it is yet. Have poked the following
>> excerpted lines below, but it is still not cooperating. All testing and
>> insights remain welcome.
>>
>>
>>
>> - https://packaging.python.org/en/latest/tutorials/packaging-projects
>> (Windows tabs)
>> - https://docs.python.org/3/tutorial/modules.html#packages
>> -
>> https://docs.python.org/3/tutorial/modules.html#importing-from-a-package
>>
>>
>>
>> -
>> https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/setup.cfg
>> -
>> https://sourceforge.net/p/x3d/code/HEAD/tree/www.web3d.org/x3d/stylesheets/python/build.package.prepare.log.txt
>>
>>
>>
>> # setup.cfg
>>
>>
>>
>> [options]
>>
>> package_dir =
>>
>> = src
>>
>> include_package_data = True
>>
>> packages = find:
>>
>> install_requires = xmlschema
>>
>> python_requires = >=3.6
>>
>>
>>
>> [options.packages.find]
>>
>> where = src
>>
>>
>>
>>
>>
>> all the best, Don
>>
>> --
>>
>> Don Brutzman Naval Postgraduate School, Code USW/Br
>> brutzman at nps.edu
>>
>> Watkins 270, MOVES Institute, Monterey CA 93943-5000 USA
>> +1.831.656.2149
>>
>> X3D graphics, virtual worlds, Navy robotics https://
>> faculty.nps.edu/brutzman
>>
>>
>>
>> *From:* Hans Moritz Guenther <hgunther at mit.edu>
>> *Sent:* Sunday, March 6, 2022 4:08 AM
>> *To:* Brutzman, Donald (Don) (CIV) <brutzman at nps.edu>;
>> vmarchetti at kshell.com; X3D-Public <x3d-public at web3d.org>
>> *Cc:* John Carlson <yottzumm at gmail.com>; Peitso, Loren (CIV) <
>> lepeitso at nps.edu>
>> *Subject:* Re: [x3d-public] x3d.py package: Some feedback and suggestion
>> for improvement; tuples and lists; updated x3d.py
>>
>>
>>
>> On 3/5/22 9:08 PM, Brutzman, Donald (Don) (CIV) wrote:
>>
>> Thanks Moritz for looking at this. However, we can’t really expect any
>> PyPi user who types “pip install x3d” to go through such a process.
>>
>> A Pypi user does not have to go through that - unless their local
>> installation is messed up in some way; I was just trying to debug. Plenty
>> of Pypi packages work just like that.
>>
>>
>>
>> However, right now the problem seems to be different:
>>
>> Something changed in the Pypi setup for this package between 4.0.57 and
>> 4.0.58: From 4.0.58 on, "pip install" only downloads and installs the
>> metadata of the package (license file etc.), but not the actual code. Note
>> in the following output how an installation with 4.0.57 gives me two
>> directories in my "site-packages" called "x3d" (with the code) and
>> "x3d-4.0.57-py3-none-any.whl" (with the meta data of the package).
>>
>> However, starting with 4.0.58, I ONLY get the metadata and not the actual
>> code - and thus an "import x3d" must fail just because the code is not
>> actually installed. It also no longer downloads the actual ~400 kB wheel:
>>
>>
>> (kitchensink) MoritzAirRoseGold
>> ~/mambaforge/envs/kitchensink/lib/python3.10> pip install x3d==4.0.56
>> Collecting x3d==4.0.56
>> Downloading x3d-4.0.56-py3-none-any.whl (418 kB)
>> |████████████████████████████████| 418 kB 2.3 MB/s
>> Installing collected packages: x3d
>> Attempting uninstall: x3d
>> Found existing installation: x3d 4.0.52
>> Uninstalling x3d-4.0.52:
>> Successfully uninstalled x3d-4.0.52
>> Successfully installed x3d-4.0.56
>> (kitchensink) MoritzAirRoseGold
>> ~/mambaforge/envs/kitchensink/lib/python3.10> ls site-packages/x3*
>> site-packages/x3d:
>> __init__.py __pycache__ x3d.py
>>
>> site-packages/x3d-4.0.56.dist-info:
>> INSTALLER LICENSE METADATA RECORD REQUESTED
>> WHEEL license.html license.txt top_level.txt
>> (kitchensink) MoritzAirRoseGold
>> ~/mambaforge/envs/kitchensink/lib/python3.10> pip install x3d==4.0.57
>> Collecting x3d==4.0.57
>> Downloading x3d-4.0.57-py3-none-any.whl (16 kB)
>> Installing collected packages: x3d
>> Attempting uninstall: x3d
>> Found existing installation: x3d 4.0.56
>> Uninstalling x3d-4.0.56:
>> Successfully uninstalled x3d-4.0.56
>> Successfully installed x3d-4.0.57
>> (kitchensink) MoritzAirRoseGold
>> ~/mambaforge/envs/kitchensink/lib/python3.10> ls site-packages/x3*
>> INSTALLER LICENSE METADATA RECORD REQUESTED
>> WHEEL license.html license.txt top_level.txt
>>
>>
>>
>>
>>
>> How do you upload the package to Pypi? By hand? Do you use some uploader
>> script or do it by hand?
>>
>> If you follow for example
>> https://packaging.python.org/en/latest/tutorials/packaging-projects/
>> <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpackaging.python.org%2Fen%2Flatest%2Ftutorials%2Fpackaging-projects%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C71204b50571049885f4d08d9ff69ef47%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637821652758101749%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=atx%2FZE0pZA5RSJGmWCkcPGdY1thic5PpQLQqdqmABGM%3D&reserved=0>
>> :
>>
>> - When you do "python -m build" in your local directory, do you see the
>> actual code file (the .tar.gz file) or only the wheel metadata (the whl
>> file)?
>>
>> - When you upload (python3 -m twine upload ....) do you see uploading of
>> both file?
>>
>> [Of course, if you use a different method or uploader to make the wheels
>> and update to Pypi, then the commands and output will be different.]
>>
>> Moritz
>>
>>
>>
>> --
>>
>> Hans Moritz Günther
>>
>> Massachusetts Institute of Technology
>>
>> Kavli Institute for Astrophysics and Space Research
>>
>> 77 Massachusetts Avenue <https://www.google.com/maps/search/77+Massachusetts+Avenue?entry=gmail&source=g>
>>
>> NE83-569
>>
>> Cambridge, MA 02139
>>
>> hgunther at mit.edu
>>
>> https://space.mit.edu/home/guenther/ <https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fspace.mit.edu%2Fhome%2Fguenther%2F&data=04%7C01%7Cbrutzman%40nps.edu%7C71204b50571049885f4d08d9ff69ef47%7C6d936231a51740ea9199f7578963378e%7C0%7C0%7C637821652758101749%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=bo7wTcimNGdJaXgo%2FK1%2B4ideJFqpvZp7qh96xyS%2BaKs%3D&reserved=0>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20220308/02c71d74/attachment-0001.html>
More information about the x3d-public
mailing list