-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migration from a fully configured setup.py to pyproject.toml destroys entry_points #634
Comments
It is strange that you’re using both |
Thanks I thought of that, and I get the same result regardless of which strategy from the official tutorials I use. Maybe I should possibly downgrade pip? Not sure how but when I updated from setup.py to pyproject.toml, it broke my entry point. Relevant commit is this open issue in MatthewRalston/kmerdb/issues/97 |
It may also be worth noting that I've tried using |
In the past my build process was as follows: python setup.py sdist bdist_wheel
auditwheel repair --plat linux_x86_64 dist/kmerdb-*linux_x86_64.whl
pip install dist/kmerdb-***.whl
# obviously replacing the info to the output from audtiwheel
|
I don’t know if we can trust that the install will clean up previous script, hence why I recommended a clean build (don’t keep temporary build dirs) and a clean install in a new venv. Limit the possibility of wrong observation! |
I'm asking why My repository remains open so you can see the difference between the legacy setup.py and the pyproject.toml on my master branch. It's not the virtualenv, I've blown it away many times. I've referenced both the legacy setup.py that produces a correct entry point, and I've commented that in a FRESH virtualenv, .venv including the versions of virtualenv, setuptools, pip, and Python the installation does not produce a correct bin script when using pyproject.toml I don't expect this is the easiest issue to debug, and I really don't need any special considerations here. It's genuinely an issue with my setuptools stack and I've offered both my configurations that I've tried, as well as the version numbers of the tools I'm using. I haven't been asked a specific question I can provide more details on, and I've explained the issue pretty well. Thanks again for looking at this. |
The PEP explicitly disallows setting This should be up to the installer (pip) - this script gets generated when you install (that's the only time it would know what paths to inject). The console script in both cases just fills a metadata slot in the wheel, and when you install, it just reads this metadata entry and generates the script. Do you have a before and after wheel? Looking at the metadata differences of both would be enlightening, I think. |
No, I generate one wheel in this iteration of the build cycle with the new Again:
|
I meant can we get a “broken” (pyproject.toml) wheel and a working (setup.py) wheel and compare them? Even if the working one is slightly older. All we need to do is look in the scripts directory of the wheel & at the entry_points.txt file. Wheels are just zip files. |
Ahhh!!! Yes I understand. I'll upload asap |
From
[console_scripts]
kmerdb = kmerdb:cli
[console_scripts]
kmerdb = kmerdb:cli It seems like the Again, here is the relevant pyproject.toml |
Adding the following to [tool.setuptools]
include-package-data = true
packages = ['kmerdb']
|
Problem description
What is your environment
python 3.10.1
pip 22.3.1
setuptools 61.0
What is your
pyproject.toml
?pyproject.toml
What is the issue?
After successful install into a
.venv
:It seems the bin script create does not have an appropriate PythonPath set.
The text was updated successfully, but these errors were encountered: