question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

skipped/ignored packages' dependencies get installed

See original GitHub issue
Describe your environment
  1. OS Type: Windows 7
  2. Python version: 3.6.3
  3. Pipenv version: 8.3.2
Issue

Issue is that pipenv will install sub-dependencies when they are not actually needed. For example, when running pipenv install against a Pipfile which specifies celery = {version = “*”, os_name = “== ‘linux’”} in a Windows environment, celery does indeed get ignored, but all of celery’s dependencies get installed. After running the pipenv install command, I see Ignoring celery message, but I also see that amqp, billiard, kombu, pytz, and vine get installed.

This issue seems to be unique to Windows, as I tested this in Debian 8.7

Expected result

I expect nothing to be installed because “celery” is specified to be installed on Linux platform only.

Actual result

Celery dependencies get installed, even when celery is ignored.

Steps to replicate
  1. mkdir exampleenv
  2. cd exampleenv
  3. pipenv install

Creating a virtualenv for this project. Using base prefix ‘c:\python363-32’ New python executable in c:\dev\venvs\exampleenv-Ck4lzouS\Scripts\python.exe Installing setuptools, pip, wheel…done.

Virtualenv location: c:\dev\venvs\exampleenv-Ck4lzouS Creating a Pipfile for this project. Pipfile.lock not found, creating. Locking [dev-packages] dependencies. Locking [packages] dependencies. Updated Pipfile.lock (c23e27)! Installing dependencies from Pipfile.lock (c23e27). ================================ 0/0 - 00:00:00 To activate this project’s virtualenv, run the following: $ pipenv shell

  1. Edit Pipfile: celery = {version = “*”, os_name = “== ‘linux’”} (see below Pipfile)
  2. pipenv install

Pipfile.lock (c23e27) out of date, updating to (ddb95c). Locking [dev-packages] dependencies. Locking [packages] dependencies. Updated Pipfile.lock (ddb95c)! Installing dependencies from Pipfile.lock (ddb95c). Ignoring celery: markers ‘os_name == “linux”’ don’t match your environment ================================ 6/6 - 00:00:10 To activate this project’s virtualenv, run the following: $ pipenv shell

  1. pipenv run pip freeze (output below)

C:\dev\exampleenv>pipenv run pip freeze amqp==2.2.2 billiard==3.5.0.3 kombu==4.1.0 pytz==2017.3 vine==1.1.4

Pipfile contents
[[source]]

url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"


[packages]

celery = {version = "*", os_name = "== 'linux'"}


[dev-packages]


Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:15 (14 by maintainers)

github_iconTop GitHub Comments

1reaction
erinxoconcommented, Nov 19, 2017

Looking at this now. We have to apply the markers to the deps when we lock the file. Currently the marker only gets applied to the package from the pipfile as seen above. Working on a fix now.

1reaction
techalchemycommented, Nov 17, 2017

Huh, interesting. Good catch. This is gonna be a fun one… /cc @kennethreitz @vphillippon

Read more comments on GitHub >

github_iconTop Results From Across the Web

pip: force install ignoring dependencies - Stack Overflow
Is there any way to force install a pip python package ignoring all it's dependencies that cannot be satisfied?
Read more >
How do I get apt-get to ignore some dependencies?
Simple and easy solution: just specify the unwanted packages with an extra - after each of them. Example without the - switch: root@debian:~#...
Read more >
How to ignore or skip dependencies while installing packages ...
Skip or Ignore some Package dependecires from getting installed using APT package manager on Ubuntu Linux distro using * and - signs.
Read more >
npm-install - npm Docs
This command installs a package and any packages that it depends on. If the package has a package-lock, or an npm shrinkwrap file,...
Read more >
Frequently Asked Questions • renv - GitHub Pages
Packages installed into your project library, and ... still ensuring these development dependencies get installed when trying to restore a project library.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found