pypa / pipx

Install and Run Python Applications in Isolated Environments
https://pipx.pypa.io
MIT License
10.66k stars 419 forks source link

Pipx Warning about path from WinPy terminal "The directory name is invalid." #1534

Open marcusobrien opened 2 months ago

marcusobrien commented 2 months ago

Describe the bug

I use multiple versions of Python in Windows 10, and use a different WinPy shell to ensure the desired python is on my path etc. From these version shells I created different virtual environments for each application/dev env. I dont want to use a single python installation in Windows, as it becomes a nightmare with all the packages, and the upgrades and dependencies, especially mixing pip and conda, in venv etc.

When I install pipx in a WinPy terminal and close and re-open the terminal pipx is still on the path - but I get this warning "The directory name is invalid." - I saw the warning message in the installation instructions, but this one is different - the instructions mention if you see this "WARNING: The script pipx.exe is installed in <USER folder>\AppData\Roaming\Python\Python3x\Scripts which is not on PATH" - I dont see this path warning, and can not get rid of the one I am seeing "The directory name is invalid."

How to reproduce

I followed the instructions to install pipx on Windows 10 from this page

https://pipx.pypa.io/stable/

First I installed scoop via powershell, and this is working as expected.

Then I ran a WinPy 12 cmd shell so the pipx would work on the python 12 in the path

U:\Tools\PythonWin\WPy64-31220\WinPython Command Prompt.exe

I run this to install pipx

scoop install pipx pipx ensurepath

Running pipx, works but with this error

U:\Tools\PythonWin\WPy64-31220\scripts>pipx --verbose The directory name is invalid. usage: pipx.pyz [-h] [--quiet] [--verbose] [--version]

Virtual Environment location is C:\Users\marcu\pipx\venvs. Symlinks to apps are placed in C:\Users\marcu.local\bin. Symlinks to manual pages are placed in C:\Users\marcu.local\share\man.

Everything else looks ok

Expected behavior

When I close the WinPy shell and re-open it I still have access to the pipx installation, but this warning keeps coming up

U:\Tools\PythonWin\WPy64-31220\scripts>pipx run pycowsay moo The directory name is invalid.


< moo >

\ ^^ \ (oo)_____ (__)\ )\/\ ----w