Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipenv 2022.8.13 breaks libraries that require packaging #5247

Closed
ZacharyThomas opened this issue Aug 13, 2022 · 3 comments · Fixed by #5248
Closed

Pipenv 2022.8.13 breaks libraries that require packaging #5247

ZacharyThomas opened this issue Aug 13, 2022 · 3 comments · Fixed by #5248
Assignees
Labels
Type: Bug 🐛 This issue is a bug. Type: Regression This issue is a regression of a previous behavior.

Comments

@ZacharyThomas
Copy link

Issue description

It appears that libraries that explicitly require packaging cannot work on the latest version of pipenv.

Consider a simple project:

main.py

from dataclasses_json import DataClassJsonMixin

def print_hi(name):
    print(f'Hi, {name}')  # Press ⌘F8 to toggle the breakpoint.


if __name__ == '__main__':
    print_hi('PyCharm')

pipfile

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
dataclasses-json = "*"

[dev-packages]

[requires]
python_version = "3.8"

dockerfile

FROM python:3.8-slim AS build
RUN python -m venv /opt/venv

ENV PATH=/opt/venv/bin:$PATH
ENV VIRTUAL_ENV=/opt/venv
ENV PIPENV_VERBOSITY=-1

COPY . .
RUN python -m pip install -U pip
RUN python -m pip install -U pipenv

RUN pipenv install --deploy

RUN python main.py

Expected result

This should run successfully - on pipenv 2022.8.5 it does, but on 2022.8.13 it does not

Actual result

 => ERROR [7/7] RUN python main.py                                                                                                                                              1.3s 
------                                                                                                                                                                               
 > [7/7] RUN python main.py:                                                                                                                                                         
#11 0.976 Traceback (most recent call last):                                                                                                                                         
#11 0.976   File "main.py", line 1, in <module>                                                                                                                                      
#11 0.976     from dataclasses_json import DataClassJsonMixin
#11 0.976   File "/opt/venv/lib/python3.8/site-packages/dataclasses_json/__init__.py", line 2, in <module>
#11 0.976     from dataclasses_json.api import (DataClassJsonMixin,
#11 0.976   File "/opt/venv/lib/python3.8/site-packages/dataclasses_json/api.py", line 6, in <module>
#11 0.976     from dataclasses_json.cfg import config, LetterCase  # noqa: F401
#11 0.976   File "/opt/venv/lib/python3.8/site-packages/dataclasses_json/cfg.py", line 5, in <module>
#11 0.976     from marshmallow.fields import Field as MarshmallowField
#11 0.976   File "/opt/venv/lib/python3.8/site-packages/marshmallow/__init__.py", line 3, in <module>
#11 0.976     from packaging.version import Version
#11 0.976 ModuleNotFoundError: No module named 'packaging'
------
executor failed running [/bin/sh -c python main.py]: exit code: 1

Steps to replicate

Provide the steps to replicate (which usually at least includes the commands and the Pipfile).

$ pipenv --support

Pipenv version: '2022.8.13'

Pipenv location: '/usr/local/lib/python3.9/site-packages/pipenv'

setuptools version: '62.3.2'

Python location: '/usr/local/opt/python@3.9/bin/python3.9'

OS Name: 'posix'

User pip version: '22.2.2'

user Python installations found:

  • 3.10.6: /Users/zacksmith/.pyenv/versions/3.10.6/bin/python3
  • 3.9.13: /usr/local/bin/python3
  • 3.9.13: /usr/local/bin/python
  • 3.9.13: /usr/local/bin/python3.9
  • 3.8.9: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin/python3
  • 3.8.9: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin/python
  • 3.8.9: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin/python3.8
  • 3.8.9: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin/python3
  • 3.8.9: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin/python
  • 3.8.9: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin/python3.8
  • 3.8.9: /usr/bin/python3

PEP 508 Information:

{'implementation_name': 'cpython',
 'implementation_version': '3.9.13',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '21.5.0',
 'platform_system': 'Darwin',
 'platform_version': 'Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT '
                     '2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000',
 'python_full_version': '3.9.13',
 'python_version': '3.9',
 'sys_platform': 'darwin'}

System environment variables:

  • PATH
  • __CFBundleIdentifier
  • SHELL
  • SECURITYSESSIONID
  • TERM
  • USER
  • TMPDIR
  • LaunchInstanceID
  • COMMAND_MODE
  • TERMINAL_EMULATOR
  • LOGIN_SHELL
  • __INTELLIJ_COMMAND_HISTFILE__
  • SSH_AUTH_SOCK
  • XPC_FLAGS
  • TERM_SESSION_ID
  • __CF_USER_TEXT_ENCODING
  • LOGNAME
  • LC_CTYPE
  • XPC_SERVICE_NAME
  • HOME
  • SHLVL
  • PWD
  • OLDPWD
  • ZSH
  • PAGER
  • LESS
  • LSCOLORS
  • EDITOR
  • VIRTUAL_ENV
  • PS1
  • _
  • PIP_SHIMS_BASE_MODULE
  • PIP_DISABLE_PIP_VERSION_CHECK
  • PIP_PYTHON_PATH
  • PYTHONDONTWRITEBYTECODE
  • PYTHONFINDER_IGNORE_UNSUPPORTED

Pipenv–specific environment variables:

Debug–specific environment variables:

  • PATH: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
  • SHELL: /bin/zsh
  • EDITOR: nano
  • PWD: /Users/zacksmith/PycharmProjects/pythonProject
  • VIRTUAL_ENV: /Users/zacksmith/.local/share/virtualenvs/pythonProject-SGNO3Kqj

Contents of Pipfile ('/Users/zacksmith/PycharmProjects/pythonProject/Pipfile'):

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
dataclasses-json = "*"

[dev-packages]

[requires]
python_version = "3.8"

Contents of Pipfile.lock ('/Users/zacksmith/PycharmProjects/pythonProject/Pipfile.lock'):

{
    "_meta": {
        "hash": {
            "sha256": "a9f040ac3c1c6914bff31a3219d8962b00c4f27bc90356e64666b6a30379bdf6"
        },
        "pipfile-spec": 6,
        "requires": {
            "python_version": "3.8"

        },
        "sources": [
            {
                "name": "pypi",
                "url": "https://pypi.org/simple",
                "verify_ssl": true
            }
        ]
    },
    "default": {
        "dataclasses-json": {
            "hashes": [
                "sha256:bc285b5f892094c3a53d558858a88553dd6a61a11ab1a8128a0e554385dcc5dd",
                "sha256:c2c11bc8214fbf709ffc369d11446ff6945254a7f09128154a7620613d8fda90"
            ],
            "index": "pypi",
            "version": "==0.5.7"
        },
        "marshmallow": {
            "hashes": [
                "sha256:00040ab5ea0c608e8787137627a8efae97fabd60552a05dc889c888f814e75eb",
                "sha256:635fb65a3285a31a30f276f30e958070f5214c7196202caa5c7ecf28f5274bc7"
            ],
            "markers": "python_version >= '3.7'",
            "version": "==3.17.0"
        },
        "marshmallow-enum": {
            "hashes": [
                "sha256:38e697e11f45a8e64b4a1e664000897c659b60aa57bfa18d44e226a9920b6e58",
                "sha256:57161ab3dbfde4f57adeb12090f39592e992b9c86d206d02f6bd03ebec60f072"
            ],
            "version": "==1.5.1"
        },
        "mypy-extensions": {
            "hashes": [
                "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d",
                "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
            ],
            "version": "==0.4.3"
        },
        "packaging": {
            "hashes": [
                "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb",
                "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"
            ],
            "markers": "python_version >= '3.6'",
            "version": "==21.3"
        },
        "pyparsing": {
            "hashes": [
                "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb",
                "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"
            ],
            "markers": "python_full_version >= '3.6.8'",
            "version": "==3.0.9"
        },
        "typing-extensions": {
            "hashes": [
                "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02",
                "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6"
            ],
            "markers": "python_version >= '3.7'",
            "version": "==4.3.0"
        },
        "typing-inspect": {
            "hashes": [
                "sha256:047d4097d9b17f46531bf6f014356111a1b6fb821a24fe7ac909853ca2a782aa",
                "sha256:3cd7d4563e997719a710a3bfe7ffb544c6b72069b6812a02e9b414a8fa3aaa6b",
                "sha256:b1f56c0783ef0f25fb064a01be6e5407e54cf4a4bf4f3ba3fe51e0bd6dcea9e5"
            ],
            "version": "==0.7.1"
        }
    },
    "develop": {}
}
@sdepablos
Copy link

Happening to me too with the dbt package, which also has a dependency to packaging.

@matteius
Copy link
Member

Likely caused by this PR: https://github.com/pypa/pipenv/pull/5231/files

@matteius matteius added Type: Bug 🐛 This issue is a bug. Type: Regression This issue is a regression of a previous behavior. labels Aug 13, 2022
@matteius matteius self-assigned this Aug 13, 2022
@matteius
Copy link
Member

I'll cut a new release tomorrow -- apologies for the breakage!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug 🐛 This issue is a bug. Type: Regression This issue is a regression of a previous behavior.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants