1

I have a private PyPi registry that my company uses to host internal Python packages. I have setup my machine to handle installing dependencies via the private registry with a ~/.pip/pip.conf as such:

[global]
extra-index-url = https://****:****@company.jfrog.io/artifactory/api/pypi/pypi-local/simple
trusted-host = company.jfrog.io

Now, when I try and pip install internal_pkg, all works just fine. However, as I try to pip install pandas (for example), I get the following error:

Looking in indexes: https://pypi.org/simple, https://****:****@parkmobile.jfrog.io/artifactory/api/pypi/pypi-local/simple
Collecting pandas
ERROR: Could not install packages due to an EnvironmentError: Failed to parse: https://****:****@company.jfrog.io/artifactory/api/pypi/pypi-local/simple/pandas/

Note, my username is my company email, hence has @ and . symbols.

I am trying to understand why this is failing. How can I setup a pip.conf such that is looks first in my private registry, but looks at pypi.org for example if no package name is found on private.

Thanks!

sgerbhctim
  • 3,420
  • 7
  • 38
  • 60

1 Answers1

1

Like explained here: PIP how escape character # in password?

You can URL encode the 'problematic' character.
In your case @ can be encoded into %40

Mogi
  • 596
  • 1
  • 6
  • 18