When installing a new python package with PIP, can I change the package name because there is another package with the same name?
Or, how can I change the existing package's name?
When installing a new python package with PIP, can I change the package name because there is another package with the same name?
Or, how can I change the existing package's name?
It's not possible to change "import path" (installed name) by specifying arguments to pip. All other options require some form of "changes to the package":
A. Use pip install -e git+http://some_url#egg=some-name
: that way even if both packages have the same import path, they will be saved under different directories (using some-name
provided after #egg=
). After this you can go to the source directories of packages (usually venv/src/some-name
) and rename some folders to change import paths
B-C. Fork the repository, make changes, then install the package from that repository. Or you can publish your package on PyPI using different name and install it by name
D. use pip download
to put one of the packages in your project, then rename folders as you like
Create a new virtualenv and then install the package on new virtualenv, with this you can have the different version of packages as well.
If you are struggling to install the correct package when using pip install 'module', you could always download its corresponding wheel file (.whl extension) and then install this directly using pip. This has worked for me in various situations in the past.
Use virtualenv if you don't need both package for the same project. With virtualenv you can have different version of packages as well.
Another way maybe the site-packages as mentioned already.
https://virtualenv.pypa.io/en/stable/
http://docs.python-guide.org/en/latest/dev/virtualenvs/#lower-level-virtualenv
I had this problem with the libraries gmail and pygmail, they both want to install to PYTHONPATH/site-packages/gmail/
. Clearly the pygmail package has an issue, it should be installing to pygmail folder, but they haven't made any updates in years.
For an interim solution, I installed one (pygmail), then changed the folder names (gmail-->pygmail, and gmail-v#.dist-info-->pygmail-v#.dist-info), then installed the second one normally. Seems to work, as long as I don't try to update the first package. import gmail
and import pygmail
work as expected.
I'm guessing that at least one of the packages you refer is not installed from https://pypi.org/ since they enforce unique names for the packages; this means you're installing that package from source, which means you also have the freedom of changing its name to whatever you want. You would do this by changing the setup.py
file in the root of the offending package.
I Don't think it is possible to change the name of package by using pip. Because pip can install packages which are exist and gives error if there is no package name which you write for change the name of package.
This is not possible with the pip
command line tool. All of the packages on PyPI have unique names. Packages often require and depend on each other, and assume the name will not change.