Search code examples
pythonpipeggpipenvbluejeans

"pipenv requires an #egg fragment for version controlled dependencies" warning when installing the BlueJeans meeting API client


Adapting the instructions from https://github.com/bluejeans/api-rest-meetings/tree/master/libs/python#pip-install, in a pipenv shell I'm trying to run

pipenv install git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo

However, I'm getting the following error message:

⠋WARNING: pipenv requires an #egg fragment for version controlled dependencies. Please install remote dependency in the form git+https://github.com/bluejeans/api-rest-meetings.git#egg=.

Here is the full command and response:

(lucy-web-CVxkrCFK) bash-3.2$ pipenv install git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo
Installing git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo...
⠋WARNING: pipenv requires an #egg fragment for version controlled dependencies. Please install remote dependency in the form git+https://github.com/bluejeans/api-rest-meetings.git#egg=<package-name>.
ABORTING INSTALL... You will have to reinstall any packages that failed to install.
You may have to manually run pipenv lock when you are finished.

How do I get the egg for this package? Or even better, how could I disbable the requirement to specify an egg?


Solution

  • Martijn Pieters in How to determine the name of an egg for a Python package on Github? describes how to determine the egg: look up the name argument to the setup() function in the package's setup.py. From https://github.com/bluejeans/api-rest-meetings/blob/master/libs/python/setup.py, this is BlueJeansMeetingsRestApi in this case. So the following works:

    (lucy-web-CVxkrCFK) bash-3.2$ pipenv install git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo#egg=BlueJeansMeetingsRestApi
    Installing git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo#egg=BlueJeansMeetingsRestApi...
    ⠇Warning: You installed a VCS dependency in non-editable mode. This will work fine, but sub-dependencies will not be resolved by $ pipenv lock.
      To enable this sub-dependency functionality, specify that this dependency is editable.
    Collecting BlueJeansMeetingsRestApi from git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo#egg=BlueJeansMeetingsRestApi
      Cloning https://github.com/bluejeans/api-rest-meetings.git (to revision pip-repo) to /private/var/folders/dc/nv4yxcrd0zqd2dtxlj281b740000gn/T/pip-install-s0g6q9m5/BlueJeansMeetingsRestApi
    Requirement already satisfied: urllib3>=1.15 in /Users/kurtpeek/.local/share/virtualenvs/lucy-web-CVxkrCFK/lib/python3.6/site-packages (from BlueJeansMeetingsRestApi) (1.23)
    Requirement already satisfied: six>=1.10 in /Users/kurtpeek/.local/share/virtualenvs/lucy-web-CVxkrCFK/lib/python3.6/site-packages (from BlueJeansMeetingsRestApi) (1.11.0)
    Requirement already satisfied: certifi in /Users/kurtpeek/.local/share/virtualenvs/lucy-web-CVxkrCFK/lib/python3.6/site-packages (from BlueJeansMeetingsRestApi) (2018.4.16)
    Requirement already satisfied: python-dateutil in /Users/kurtpeek/.local/share/virtualenvs/lucy-web-CVxkrCFK/lib/python3.6/site-packages (from BlueJeansMeetingsRestApi) (2.6.0)
    Building wheels for collected packages: BlueJeansMeetingsRestApi
      Running setup.py bdist_wheel for BlueJeansMeetingsRestApi: started
      Running setup.py bdist_wheel for BlueJeansMeetingsRestApi: finished with status 'done'
      Stored in directory: /private/var/folders/dc/nv4yxcrd0zqd2dtxlj281b740000gn/T/pip-ephem-wheel-cache-adn35yq2/wheels/9b/3f/9d/57d42cddf6b678af2c5d2c805a74b1f35102ab62d4da6f5d4e
    Successfully built BlueJeansMeetingsRestApi
    Installing collected packages: BlueJeansMeetingsRestApi
    Successfully installed BlueJeansMeetingsRestApi-1.0.0
    
    Adding git+https://github.com/bluejeans/api-rest-meetings.git@pip-repo#egg=BlueJeansMeetingsRestApi to Pipfile's [packages]...
    Pipfile.lock (7950e0) out of date, updating to (584b28)...
    Locking [dev-packages] dependencies...
    Locking [packages] dependencies...
    Updated Pipfile.lock (584b28)!
    Installing dependencies from Pipfile.lock (584b28)...
      🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 80/80 — 00:00:10