How to Ensure Pip Is Installing dist-info rather than egg-info

114 Views Asked by At

I am running a software built on Digital Ocean App Platform. I need to install two private packages which I built myself. Problem is when I try to install them with the following commands:

pip install git+https://{username}:{authentication}@github.com/{repo owner}/{package}
pip install --upgrade git+https://{username}:{authentication}@github.com/{repo owner}/{package}
pip install --no-cache-dir git+https://{username}:{authentication}@github.com/{repo owner}/{package}

it installs the egg-info rather than dist-info. The egg info is outdated, version 0.9.4 and the version I want to install is 0.9.6. It says it installed version 0.9.6 on the terminal but it actually installs 0.9.4 files from egg-info. I have both run "python sdist setup.py" and "python setup.py bdist_wheel" to create both the main package files and the wheel. I tried it in my local laptop, I created a new test virtual environment and when I run those commands it correctly installed the wheel and the files with it. However on Digital Ocean App Platform it just keeps installing the egg-info.

Could you please help me how can I overcome this and ensure it installs from the wheel all the time?

enter image description here

1

There are 1 best solutions below

0
On

I ran into this myself while installing a web-app into a Linode server, and the solution was to make sure pip, setuptools, and wheel were all installed and all on the latest version:

python3 -m pip install --upgrade pip setuptools wheel
pip uninstall [my-package]
pip install [git link to my package]

How I figured that out

During the install, everything looked fine, pip said it installed the package successfully (and dependencies were properly installed) but the package itself was always missing. Instead, I just had the egg-info directory.

I noticed this line in the pip install... output:

Using legacy 'setup.py install' for [my-package], since package 'wheel' is not installed.

So I installed wheel and tried again:

pip uninstall [my-package]
pip install wheel
pip install [git link to my package]

This time, it installed the dist-info directory, but still not the package files. I was pulling my hair out when I found this thread. This answer walks through a bunch of ways of troubleshooting installs, which was helpful reassurance that I set up my package properly, but the real solution was lower down: I also needed to update setuptools. I ran the code at the top of this answer and voila! My package was properly installed this time.