Opened 3 years ago

Closed 3 years ago

#65037 closed defect (worksforme)

py39-platformdirs fails to locate installed dependencies

Reported by: mouse07410 (Mouse) Owned by: reneeotten (Renee Otten)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: py-platformdirs

Description

macOS 12.3.1, Xcode-13.3.1.

$ port installed py39-hatch-vcs py39-hatchling py39-packaging py39-pluggy
The following ports are currently installed:
  py39-hatch-vcs @0.2.0_1 (active)
  py39-hatchling @0.22.0_1 (active)
  py39-packaging @21.3_0 (active)
  py39-pluggy @1.0.0_0 (active)
$ sudo port upgrade py39-platformdirs
.  .  .  .  .
:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macpor
ts_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work/platformdirs-2.5.2" && /opt/local/Library
/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/m
acports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work 
:info:build * Getting dependencies for wheel...
:info:build ERROR Missing dependencies:
:info:build     hatch-vcs
:info:build     hatchling>=0.21.0 -> pluggy>=1.0.0
:info:build     hatchling>=0.22.0
:info:build     packaging>=21.3
:info:build     hatchling>=0.22.0
:info:build     pluggy>=1.0.0
:info:build     hatch-vcs
:info:build     hatchling>=0.21.0 -> packaging>=21.3
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work/platformdirs-2.5.2" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_p

Log attached.

Note: same problem with py38-platformdirs.

Attachments (1)

py39-platformdirs.log.txt (15.3 KB) - added by mouse07410 (Mouse) 3 years ago.
main.log

Download all attachments as: .zip

Change History (14)

Changed 3 years ago by mouse07410 (Mouse)

Attachment: py39-platformdirs.log.txt added

main.log

comment:1 Changed 3 years ago by reneeotten (Renee Otten)

Cc: reneeotten removed
Owner: set to reneeotten
Port: py-platformdirs added; py39-platformdirs removed
Status: newassigned

I cannot reproduce this issue, I have the same packages installed as you and it works fine for me on Catalina. Not sure what the issue is; please try to do another selfupdate, clean the port and try again. I initially messed up something in the dependencies/dependency types in py-hatch-vcs, but that should be corrected now. There are a few failures on the buildbots that are I *think* because of that; so let's give it a bit of time to attempt the builds again and see how it goes there.

Finally, are you implying that it does work for you with py310-plaformdirs (since you only mention the py38 and py39 subports)?

comment:2 Changed 3 years ago by mouse07410 (Mouse)

I've removed all the dependencies, cleaned those ports, did sudo port selfupdate, and tried to install again. Dependencies installed OK, but the py39-platformdirs port keeps failing:

$ sudo port uninstall -f py39-hatch-vcs py39-hatchling py39-packaging py39-pluggy py39-platformdirs
--->  Deactivating py39-hatch-vcs @0.2.0_1
--->  Cleaning py39-hatch-vcs
--->  Uninstalling py39-hatch-vcs @0.2.0_1
--->  Cleaning py39-hatch-vcs
--->  Deactivating py39-hatchling @0.22.0_1
--->  Cleaning py39-hatchling
--->  Uninstalling py39-hatchling @0.22.0_1
--->  Cleaning py39-hatchling
--->  Unable to uninstall py39-packaging @21.3_0, the following ports depend on it:
--->  	py39-build @0.7.0_0
--->  	py39-setuptools_scm @6.4.2_0
--->  	py39-sphinx @4.5.0_0
Warning: Uninstall forced.  Proceeding despite dependencies.
--->  Deactivating py39-packaging @21.3_0
--->  Cleaning py39-packaging
--->  Uninstalling py39-packaging @21.3_0
--->  Cleaning py39-packaging
--->  Deactivating py39-pluggy @1.0.0_0
--->  Cleaning py39-pluggy
--->  Uninstalling py39-pluggy @1.0.0_0
--->  Cleaning py39-pluggy
$ sudo port clean py39-hatch-vcs py39-hatchling py39-packaging py39-pluggy py39-platformdirs
--->  Cleaning py39-hatch-vcs
--->  Cleaning py39-hatchling
--->  Cleaning py39-packaging
--->  Cleaning py39-pluggy
--->  Cleaning py39-platformdirs
$ 
$ sudo port selfupdate
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.7.2 installed,
MacPorts base version 2.7.2 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
$ sudo port install py39-platformdirs
--->  Computing dependencies for py39-packaging
--->  Fetching archive for py39-packaging
--->  Attempting to fetch py39-packaging-21.3_0.darwin_21.noarch.tbz2 from https://packages.macports.org/py39-packaging
--->  Attempting to fetch py39-packaging-21.3_0.darwin_21.noarch.tbz2 from https://nue.de.packages.macports.org/py39-packaging
--->  Attempting to fetch py39-packaging-21.3_0.darwin_21.noarch.tbz2 from http://atl.us.packages.macports.org/py39-packaging
--->  Attempting to fetch py39-packaging-21.3_0.darwin_21.noarch.tbz2.rmd160 from http://atl.us.packages.macports.org/py39-packaging
--->  Installing py39-packaging @21.3_0
--->  Activating py39-packaging @21.3_0
--->  Cleaning py39-packaging
--->  Computing dependencies for py39-platformdirs
The following dependencies will be installed: 
 py39-hatch-vcs
 py39-hatchling
 py39-pluggy
Continue? [Y/n]: 
--->  Fetching archive for py39-pluggy
--->  Attempting to fetch py39-pluggy-1.0.0_0.darwin_21.noarch.tbz2 from https://packages.macports.org/py39-pluggy
--->  Attempting to fetch py39-pluggy-1.0.0_0.darwin_21.noarch.tbz2 from https://nue.de.packages.macports.org/py39-pluggy
--->  Attempting to fetch py39-pluggy-1.0.0_0.darwin_21.noarch.tbz2 from http://atl.us.packages.macports.org/py39-pluggy
--->  Attempting to fetch py39-pluggy-1.0.0_0.darwin_21.noarch.tbz2.rmd160 from http://atl.us.packages.macports.org/py39-pluggy
--->  Installing py39-pluggy @1.0.0_0
--->  Activating py39-pluggy @1.0.0_0
--->  Cleaning py39-pluggy
--->  Fetching archive for py39-hatchling
--->  Attempting to fetch py39-hatchling-0.22.0_1.darwin_21.x86_64.tbz2 from https://packages.macports.org/py39-hatchling
--->  Attempting to fetch py39-hatchling-0.22.0_1.darwin_21.x86_64.tbz2 from https://nue.de.packages.macports.org/py39-hatchling
--->  Attempting to fetch py39-hatchling-0.22.0_1.darwin_21.x86_64.tbz2 from http://atl.us.packages.macports.org/py39-hatchling
--->  Attempting to fetch py39-hatchling-0.22.0_1.darwin_21.x86_64.tbz2.rmd160 from http://atl.us.packages.macports.org/py39-hatchling
--->  Installing py39-hatchling @0.22.0_1
--->  Activating py39-hatchling @0.22.0_1
--->  Cleaning py39-hatchling
--->  Fetching archive for py39-hatch-vcs
--->  Attempting to fetch py39-hatch-vcs-0.2.0_1.darwin_21.noarch.tbz2 from https://packages.macports.org/py39-hatch-vcs
--->  Attempting to fetch py39-hatch-vcs-0.2.0_1.darwin_21.noarch.tbz2 from https://nue.de.packages.macports.org/py39-hatch-vcs
--->  Attempting to fetch py39-hatch-vcs-0.2.0_1.darwin_21.noarch.tbz2 from http://atl.us.packages.macports.org/py39-hatch-vcs
--->  Attempting to fetch py39-hatch-vcs-0.2.0_1.darwin_21.noarch.tbz2.rmd160 from http://atl.us.packages.macports.org/py39-hatch-vcs
--->  Installing py39-hatch-vcs @0.2.0_1
--->  Activating py39-hatch-vcs @0.2.0_1
--->  Cleaning py39-hatch-vcs
--->  Fetching archive for py39-platformdirs
--->  Attempting to fetch py39-platformdirs-2.5.2_0.darwin_21.noarch.tbz2 from https://packages.macports.org/py39-platformdirs
--->  Attempting to fetch py39-platformdirs-2.5.2_0.darwin_21.noarch.tbz2 from https://nue.de.packages.macports.org/py39-platformdirs
--->  Attempting to fetch py39-platformdirs-2.5.2_0.darwin_21.noarch.tbz2 from http://atl.us.packages.macports.org/py39-platformdirs
--->  Fetching distfiles for py39-platformdirs
--->  Verifying checksums for py39-platformdirs
--->  Extracting py39-platformdirs
--->  Configuring py39-platformdirs
--->  Building py39-platformdirs
Error: Failed to build py39-platformdirs: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port py39-platformdirs failed
$ 

Here's the error:

:debug:build system:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work/platformdirs-2.5.2" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work 
:info:build * Getting dependencies for wheel...
:info:build ERROR Missing dependencies:
:info:build 	hatchling>=0.22.0
:info:build 	packaging>=21.3
:info:build 	hatch-vcs
:info:build 	hatchling>=0.21.0 -> packaging>=21.3
:info:build 	hatch-vcs
:info:build 	hatchling>=0.21.0 -> pluggy>=1.0.0
:info:build 	hatchling>=0.22.0
:info:build 	pluggy>=1.0.0
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work/platformdirs-2.5.2" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-platformdirs/py39-platformdirs/work 
:info:build Exit code: 1
:error:build Failed to build py39-platformdirs: command execution failed

Finally, are you implying that it does work for you with py310-plaformdirs (since you only mention the py38 and py39 subports)?

That is correct:

$ port installed py310-platformdirs
The following ports are currently installed:
  py310-platformdirs @2.5.2_0 (active)
$

comment:3 Changed 3 years ago by jmroot (Joshua Root)

I wonder if hatchling is relying on newer importlib.metadata features or something, without realising it. Do you have py39-importlib-metadata installed? If not, is there any change if you install it?

comment:4 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

py38-platformdirs, py310-platformdirs, py37-platformdirs failed with:

ERROR Missing dependencies:
	hatch-vcs
	setuptools-scm>=6.4.0

On line 49 the portfile overwrites the setuptools_scm dependency that was set earlier.

comment:5 in reply to:  4 ; Changed 3 years ago by reneeotten (Renee Otten)

Replying to ryandesign:

py38-platformdirs, py310-platformdirs, py37-platformdirs failed with:

ERROR Missing dependencies:
	hatch-vcs
	setuptools-scm>=6.4.0

On line 49 the portfile overwrites the setuptools_scm dependency that was set earlier.

the failure(s) you mention are presumably from before I corrected the dependencies for py-hatch-vcs where py-setuptools-scm was supposed to be a library dependency. When using the hatch backend one does not need the setuptools dependencies to build the package. They are set initially because they are needed for the py27, py35, and py36 subports.

I still think it should all work and appears to do so locally for me... But admittedly, one cannot build in trace-mode with python.pep517 so it's possible there is still something amiss with the dependencies. That's however not going to happen today anymore.

comment:6 in reply to:  5 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to reneeotten:

the failure(s) you mention are presumably from before I corrected the dependencies for py-hatch-vcs

Ah yes, I agree. The build succeeded now on the buildbot so it might be solved.

comment:7 Changed 3 years ago by mouse07410 (Mouse)

Do you have py39-importlib-metadata installed? If not, is there any change if you install it?

Yes, it was installed. Did not help. :-(

The build succeeded now on the buildbot so it might be solved.

Sorry, this problem persists as of right now. sudo port selfupdate did not alleviate it.

And I don't understand why it's trying to rebuild the py39-platformdirs locally, if the binary exists on the buildbots.

comment:8 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Did you sudo port clean py39-platformdirs before trying again?

comment:9 Changed 3 years ago by mouse07410 (Mouse)

Did you sudo port clean py39-platformdirs before trying again?

But of course!

comment:10 Changed 3 years ago by reneeotten (Renee Otten)

remove duplicate post...

Last edited 3 years ago by reneeotten (Renee Otten) (previous) (diff)

comment:11 Changed 3 years ago by reneeotten (Renee Otten)

@mouse07410 - I have no idea, but suspect it's something with your systems as it appears to work on the buildbots (with the exeception of a few builds that only report:

ERROR Missing dependencies:
	hatch-vcs
	setuptools-scm>=6.4.0

as I said before these are the builds that were attempted before I corrected the dependencies of hatch-vcs.

So regarding your system, please make sure you do not have set PYTHONPATH to something and that you have not mixed-and-matched stuff installed through MacPorts and pip.

comment:12 Changed 3 years ago by mouse07410 (Mouse)

I to don't know what to say... PYTHONPATH is not set.

$ port installed | grep hatch
  py38-hatch-vcs @0.2.0_1 (active)
  py38-hatchling @0.22.0_1 (active)
  py39-hatch-vcs @0.2.0_1 (active)
  py39-hatchling @0.22.0_1 (active)
  py310-hatch-vcs @0.2.0_1 (active)
  py310-hatchling @0.22.0_1 (active)
$ port installed | grep setuptools
  py27-setuptools @44.1.1_0 (active)
  py38-setuptools @62.1.0_0 (active)
  py38-setuptools_scm @6.4.2_0 (active)
  py39-setuptools @62.1.0_0 (active)
  py39-setuptools_scm @6.4.2_0 (active)
  py310-setuptools @62.1.0_0 (active)
  py310-setuptools_scm @6.4.2_0 (active)

So, while some Python packages were indeed installed via pip, it looks like what's required by py39-platformdirs are installed by MacPorts.

And again, I don't understand why Macports is trying to rebuild py39-platformdirs , rather than just download the binary created by buildbots.

Update Lucky me - I tried again just now, and Macports pulled the binaries of these ports, instead of trying to rebuild locally from the source.

But in the course of sudo port upgrade outdated, it fails dependencies of py39-ipykernel:

:info:build writing manifest file 'ipykernel.egg-info/SOURCES.txt'
:info:build ERROR Missing dependencies:
:info:build 	jupyter_client
:info:build 	nest-asyncio>=1.5
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-ipykernel/py39-ipykernel/work/ipykernel-6.13.0" && /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9 -m build --wheel --no-isolation --outdir /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_python_py-ipykernel/py39-ipykernel/work 
:info:build Exit code: 1

I guess I'll need to wait until buildbots produce binaries for this port too...

Last edited 3 years ago by mouse07410 (Mouse) (previous) (diff)

comment:13 Changed 3 years ago by reneeotten (Renee Otten)

Resolution: worksforme
Status: assignedclosed

it does look like your local environment is a bit messed up. That’s one of the reason we recommend to stick with one way of installing packages. I suspect if you start from a clean environment (remove everything installed through “pip” and/or installed as user and have MacPorts take care of it, it will all work.

Note: See TracTickets for help on using tickets.