You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pipenv doesn't respect the dependencies of local editable packages.
One such solution is to generate a setup.py file that will configure dynamic dependencies.:
This can solve a few problems at once.
The dependencies of local editable packages can be scanned and added to this pipenv_patch package. This will remove the duplicated dependencies in the Pipfile.
Maybe this pipenv_patch can even parse the Pipfile and get the list of editable packages (no recursion search needed for this. Just get the list from reading the Pipfile since dependencies can't be editable unless they are listed there)
This patch will read the setup.py files, and get the list of dependencies from them, and call them its own.
(optional) We can check an environment variable and dynamically add other dependencies based on that. This is to solve pipenv issue 3167. Since the Pipfileallows you to add other sections that are ignored, you could for example have
[foo-packages]
ipykernel = "*"
And the foo packages are parsed only if an environment variable is set to foo. There could also be a [not-foo-packages] too. This will work well for the tensorflow vs tensorflow-gpu scenario. But this whole optional idea might not pan out either.
I may have observed this happening on a local non-editable install of a package too. May just be a local thing. I did not try turning the local package into a wheel and then installing that.
Pipenv doesn't respect the dependencies of local editable packages.
One such solution is to generate a setup.py file that will configure dynamic dependencies.:
This can solve a few problems at once.
pipenv_patch
package. This will remove the duplicated dependencies in thePipfile
.pipenv_patch
can even parse thePipfile
and get the list of editable packages (no recursion search needed for this. Just get the list from reading thePipfile
since dependencies can't be editable unless they are listed there)Pipfile
allows you to add other sections that are ignored, you could for example haveAnd the foo packages are parsed only if an environment variable is set to foo. There could also be a
[not-foo-packages]
too. This will work well for thetensorflow
vstensorflow-gpu
scenario. But this whole optional idea might not pan out either.@scott-vsi
The text was updated successfully, but these errors were encountered: