-
-
Notifications
You must be signed in to change notification settings - Fork 611
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
Use of entry_points and project.scripts with pip-sync #1809
Comments
It's not that the scripts are ignored, it's that
Note that in a case like this you probably want to install (only) the root project in editable mode, which AFAIU isn't really able to be specified with I'm not 110% against changing this behavior but this reflects my current understanding of what's intended by the project, and I welcome insight from other users and devs on the topic. At the very least, I suggest adding this alternative method to the list: $ echo '-e .' >dev-requirements.in
$ pip-compile dev-requirements.in
$ pip-sync dev-requirements.txt I'll also note that in my own wrapper scripts, I do employ your second suggested alternative of following up syncs with |
Hi, @AndydeCleyre, thanks for replying. Regarding your suggestion:
I'd like to put the self-requirement into
Not directly an issue, but along the way, the A bit about my use case, which perhaps isn't a good fit for pip-tools: I'm looking to use pip-tools for both development as well as for deployment to the target execution environment, the form of which is the same virtualenv used over time across deployed versions of the software. Essentially deployments are the result of a Am I barking up the wrong tree with this pattern and pip-tools? |
Can you share the requirements.in here? |
And at least the install_requires value in the setup.py? |
Abridged
|
You have a circular dependency situation defined. You're feeding So you may want to, in I'm also surprised you're feeding in the Note that I'm not well versed in what is and is not acceptable syntax for |
I need to note now that I didn't realize listing a project as a dependency of itself might be an accepted pattern, but it seems it is/was/might-be. It's not currently handled by pip-tools. See also: |
What's the problem this feature will solve?
As an engineer looking to
pip-sync
a Python project packaged usingpip-tools
, I expect scripts defined withentry_points
(using setup.py) and/orproject.scripts
(using pyproject.toml) to be installed.Describe the solution you'd like
pip-sync
command results in the creation of entries in thebin
directory of the Python environment corresponding to the defined scriptspip-sync
command results in the installation of the root package (i.e., as ifpip install
of the root package was issued)Alternative Solutions
pip-sync
:pip install
of the root package installsbin
directory entries for the scripts defined in the package, but doesn't have the benefit of usingpip-sync
.pip-sync
followed bypip install
.pip-sync
will uninstall the root package, so the follow-uppip install
is necessary for thebin
entries for the scripts to be re-created.Additional context
The effect of this absence of this feature is described in this issue: #1158
The text was updated successfully, but these errors were encountered: