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.

Can not install `django-phonenumber-field` properly with `pipenv`

See original GitHub issue

Original issue: https://github.com/pypa/pipenv/issues/1322

When installing django-phonenumber-field strange issue happens. When running direct pipenv install django-phonenumber-field everything works fine. But when another developer tries to install the requirements from Pipfile, for some reason package phonenumberslite is missing.

I feel like this line in setup.py is the cause of this issue: https://github.com/stefanfoulis/django-phonenumber-field/blob/master/setup.py#L8

Here are the Pipfile and Pipfile.lock:

[[source]]

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


[packages]

django-phonenumber-field = "*"


[dev-packages]

{
    "_meta": {
        "hash": {
            "sha256": "1d4c4482eaa30ae2c0c4f7a2391984c1572af4984fa202fd3b5bbfbe37f6f7ac"
        },
        "host-environment-markers": {
            "implementation_name": "cpython",
            "implementation_version": "3.6.4",
            "os_name": "posix",
            "platform_machine": "x86_64",
            "platform_python_implementation": "CPython",
            "platform_release": "15.6.0",
            "platform_system": "Darwin",
            "platform_version": "Darwin Kernel Version 15.6.0: Fri Feb 17 10:21:18 PST 2017; root:xnu-3248.60.11.4.1~1/RELEASE_X86_64",
            "python_full_version": "3.6.4",
            "python_version": "3.6",
            "sys_platform": "darwin"
        },
        "pipfile-spec": 6,
        "requires": {},
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.python.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "babel": {
            "hashes": [
                "sha256:ad209a68d7162c4cff4b29cdebe3dec4cef75492df501b0049a9433c96ce6f80",
                "sha256:8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14"
            ],
            "version": "==2.5.3"
        },
        "django": {
            "hashes": [
                "sha256:52475f607c92035d4ac8fee284f56213065a4a6b25ed43f7e39df0e576e69e9f",
                "sha256:d96b804be412a5125a594023ec524a2010a6ffa4d408e5482ab6ff3cb97ec12f"
            ],
            "version": "==2.0.1"
        },
        "django-phonenumber-field": {
            "hashes": [
                "sha256:d96c274a6aa9afd4eb4fe922e475a45706d997b2bea22b87f3afc9fb0012db84"
            ],
            "version": "==2.0.0"
        },
        "pytz": {
            "hashes": [
                "sha256:80af0f3008046b9975242012a985f04c5df1f01eed4ec1633d56cc47a75a6a48",
                "sha256:feb2365914948b8620347784b6b6da356f31c9d03560259070b2f30cff3d469d",
                "sha256:59707844a9825589878236ff2f4e0dc9958511b7ffaae94dc615da07d4a68d33",
                "sha256:d0ef5ef55ed3d37854320d4926b04a4cb42a2e88f71da9ddfdacfde8e364f027",
                "sha256:c41c62827ce9cafacd6f2f7018e4f83a6f1986e87bfd000b8cfbd4ab5da95f1a",
                "sha256:8cc90340159b5d7ced6f2ba77694d946fc975b09f1a51d93f3ce3bb399396f94",
                "sha256:dd2e4ca6ce3785c8dd342d1853dd9052b19290d5bf66060846e5dc6b8d6667f7",
                "sha256:699d18a2a56f19ee5698ab1123bbcc1d269d061996aeb1eda6d89248d3542b82",
                "sha256:fae4cffc040921b8a2d60c6cf0b5d662c1190fe54d718271db4eb17d44a185b7"
            ],
            "version": "==2017.3"
        }
    },
    "develop": {}
}

Describe your environment
  1. OS Type: macos
  2. Python version: 3.6.4
  3. Pipenv version: 9.0.1
Expected result

I expect that django-phonenumber-field and all its dependencies will be installed.

Actual result

phonenumberslite is not installed.

Steps to replicate
  1. pipenv install django-phonenumber-field
  2. pipenv run pip freeze, you will see something like:
Babel==2.5.3
Django==2.0.1
django-phonenumber-field==2.0.0
phonenumberslite==8.8.9
pytz==2017.3
  1. pipenv --rm (we simulate a situation when we have to use Pipfile for installing dependencies)
  2. pipenv install
  3. pipenv run pip freeze, you will see something like this:
Babel==2.5.3
Django==2.0.1
django-phonenumber-field==2.0.0
pytz==2017.3

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:6
  • Comments:10 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
stefanfouliscommented, Apr 24, 2018

Probably #211 fixes this issue. But I suspect that will upset people who want to use the lite version of the library. So maybe we should just remove the dependency and document the dependency and let the developer choose (like @WhyNotHugo suggested).

1reaction
alex-oleshkevichcommented, Apr 24, 2018

@oza4h07 , pipenv installs phonenumbers only if it in root deps. pipenv install django-phonenumber-field does not include it.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Can not install `django-phonenumber-field` properly with `pipenv`
When installing django-phonenumber-field strange issue happens. When running direct pipenv install django-phonenumber-field everything works fine. But when ...
Read more >
Module not found error for django app to heroku when library ...
I have ran pip freeze > requirements.txt , and the module in question is django-phonenumber-field==2.0.0 . I have no idea where I'm going...
Read more >
django-phonenumber-field - PyPI
A Django library which interfaces with python-phonenumbers to validate, pretty print and convert phone numbers. python-phonenumbers is a port of Google's ...
Read more >
django-phonenumber-field - Python package - Snyk
A Django library which interfaces with python-phonenumbers to validate, pretty print and convert phone numbers. python-phonenumbers is a port of Google's ...
Read more >
Centos7 — Tuto Docker
yum install -y python36u python36u-libs python36u-devel python36u-pip. yum install which. yum install openldap-devel. pip3.6 install pipenv ...
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