-
Notifications
You must be signed in to change notification settings - Fork 385
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
[windows] pipx seems to install a package correctly but claims that "symlink missing or pointing to unexpected location" #217
Comments
indicates the file already exists. It looks like it's been installed with
Running |
You are right. I had flake8 installed via
|
Try running
|
I ran
|
Confirmed this is failing in unit tests in the new Travis tests (thanks @jayvdb). Added a TODO to fix it if any windows devs feel like taking a shot at it. |
Some more information on this one:
All the incorrect entries on Windows (those with no |
Actually reading up on this, this might make sense. The console_scripts section comes from RECORD has to do with what/where things actually got installed: This makes me wonder if we should only pay attention to the RECORD items, since they are a list of things that actually got installed? |
It would be tedious to figure out what entries in |
Actually we already filter RECORD based on what's also in the venv bin directory, which seems pretty reliable. But I just found the exception to RECORD. When I installed a package with the I think the simplest fix would be on Windows to add a check in the for loop for entry_points that looks in the venv bin_dir for both the entry_point name and the entry_point name with |
What is the intended behavior? I'm on a windows system and have been dealing with just running |
@ardeaf I am not on a Windows machine right now, but Windows automatically appends |
@uranusjr You're right! It works, it just doesn't auto complete for some reason. thanks. Though I should also mention that it mentions the same error -- that the symlink is missing or pointing to an unexpected location. |
I've been experimenting with fixing this. Blech, the Windows stuff (or maybe setuptools stuff) turns out to be more complicated than I originally thought. Most of the time it just means that you need to use the entrypoint name with a EXCEPT. If you have an editable local-path-based package to install, there are 3 files that setuptools (I believe pip uses setuptools) creates for each entry point:
I tried to only have pipx link the I then tried to get clever and stick a Does anyone have any pointers to information on these three files that get created on Windows for every entry_point on an editable install? I kept googling and couldn't find anything that describes it. |
I don’t think I’ve seen the manifest file (well I do for Windows development, but not Python entry points), but the The legacy format of |
For reference, this is where setuptools creates the script/exe combo. |
I've been reading: I'm wondering if on Windows we should also copy over the |
I made another PR #341 that also adds the |
I believe the manifest file can have a positive effect to anti virus things, no harm to copy them. |
Describe the bug
Installed flake8 on wsl (windows subsystem for linux) via pipx. Installation completes successfully but pipx reports in red that "symlink missing or pointing to unexpected location". I notice the same on Windows native.
The reality is that the installation has succeeded and I am able to use the installed flake8.
I have tried with other packages and packages that I have created myself; I get a similar error.
Thank you for pipx, BTW; it has saved me quite a bit of bother. :)
How to reproduce
Expected behavior
Perhaps, the error is being misreported?
The text was updated successfully, but these errors were encountered: