Closed malcolmgreaves closed 4 years ago
Hello @malcolmgreaves,
how does your pyproject.toml
looks like. Especially the entry for python
is interesting. It looks like, depending on the python version the requirements for coremltools
is different.
fin swimmer
👋 @finswimmer -- the pyproject.toml is in the Gist
link above (https://gist.github.com/malcolmgreaves/b7ab6812eedce1adb1a2d03737dace3b).
Originally, I thought this might be a py3.7/8 issue -- but there's the right pkginfo for the turicreate==6.4.1
package.
Does the non semantic versioning 2.0 format of coremltools
matter?
@malcolmgreaves the issue is the metadata associated with the package:
$ curl -sL https://pypi.org/pypi/turicreate/json | jq '.info.requires_dist'
[
"decorator (>=4.0.9)",
"numpy",
"pandas (>=0.23.2)",
"pillow (>=5.2.0)",
"prettytable (==0.7.2)",
"resampy (==0.2.1)",
"requests (>=2.9.1)",
"scipy (>=1.1.0)",
"six (>=1.10.0)",
"llvmlite (==0.31.0)",
"coremltools (==3.3)",
"tensorflow (>=2.0.0)"
]
Note the requirement specified for coremltools
.
Additionally, the second issue you face is a debug log bug. :(
@abn yeah I saw this too. Where does pypi take this metadata from? (and go to bed man, it's late already! :smile: )
@finswimmer haha. Probably a smart plan.
As for the metadata, it is what is publish during dist upload by the publisher. Twine, poetry etc.
Wow! Thank you so much for debugging this @abn 🙏 Does this mean that it is turicreate packaging & publishing error? (If so, I can file an issue on their GH page.)
@malcolmgreaves i think filing an issue with the project is the right approach here. Tools like poetry rely on this metadata to work correctly.
We should at some point write an FAQ about how to debug these issues.
@abn I filed an issue https://github.com/apple/turicreate/issues/3342 and a PR https://github.com/apple/turicreate/pull/3343 to fix it on turicreate
's end. One of the project members is engaging on that GH issue thread about doing python version requirements in the package's published information. I think I'm a little out of my element commenting about "The Right Way" (tm) to do it -- if you have some time, could you add your 2 cents there?
@malcolmgreaves done.
Thank you so much for your help! 🙏
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
[x] I am on the latest Poetry version.
[x] I have searched the issues of this repo and believe that this is not a duplicate.
[x] If an exception occurs when executing a command, I executed it again in debug mode (
-vvv
option).OS version and name: <OS X as well as Ubuntu 18.04-->
Poetry version: 1.1.0b2 & 1.1.0rc1
Link of a Gist with the contents of your pyproject.toml file: gist contains pyproject toml + result of
poetry add -vvv turicreate=6.4.1
Issue
poetry
does not correctly resolve the dependencies forturicreate
whereaspip
does.turicreate
version6.4.1
depends oncoremltools
version4.0b3
. This can be seen by downloading the 3.8 wheel and inspecting:poetry add coremltools=4.0b3
works as expected. However, the problem comes withpoetry add turicreate=6.4.1
:In contrast,
pip install turicreate=6.4.1
works as expected.Why does
poetry
not find the correct dependency whenpip
does 😭 ?