pypa / pipenv

Python Development Workflow for Humans.
https://pipenv.pypa.io
MIT License
24.81k stars 1.86k forks source link

Pipenv adds dependency to Pipfile.lock that is not specified in Pipfile. #3825

Closed felixmr1 closed 5 years ago

felixmr1 commented 5 years ago

Issue description

I am not sure if this is a bug or a feature, lol. But When locking a pipfile with the dependency pypwin32 then also pywin32 gets added. My system is not compatible with pywin32 and therefore it fails when installing.

Steps to replicate

Create a pipfile with pypwin32 in it. Lock and check pipfile.lock


$ pipenv --support Pipenv version: `'2018.11.26'` Pipenv location: `'/usr/lib/python2.7/site-packages/pipenv'` Python location: `'/usr/bin/python'` Python installations found: - `3.7.3`: `/usr/bin/python3.7` - `2.7.16`: `/usr/bin/python` - `3.7.3`: `/usr/bin/python3` - `3.7.1`: `/cygdrive/c/Users/A331144/AppData/Local/Programs/Python/Python37-32/python.exe` - `3.7.1`: `/cygdrive/c/Program Files (x86)/Python37-32/python.exe` - `3.7.1`: `/cygdrive/c/Users/A331144/AppData/Local/Programs/Python/Python37-32/pythonw.exe` - `3.7.1`: `/cygdrive/c/Program Files (x86)/Python37-32/pythonw.exe` PEP 508 Information: ``` {'implementation_name': 'cpython', 'implementation_version': '0', 'os_name': 'posix', 'platform_machine': 'x86_64', 'platform_python_implementation': 'CPython', 'platform_release': '3.0.7-338.x86_64', 'platform_system': 'CYGWIN_NT-10.0-16299', 'platform_version': '2019-04-30 18:08 UTC', 'python_full_version': '2.7.16', 'python_version': '2.7', 'sys_platform': 'cygwin'} ``` System environment variables: - `ALL_PROXY` - `LMS_LICENSE` - `NO_PROXY` - `http_proxy` - `COMPUTERNAME` - `PYTHONDONTWRITEBYTECODE` - `SHELL` - `CYGWIN` - `OASYS_LICENSE_FILE` - `SYSTEMROOT` - `ANSYSLI_SERVERS` - `INFOPATH` - `PRINTER` - `RICARDO_LICENSE_FILE` - `CommonProgramFiles(x86)` - `CANoe_InstallDir` - `ANSYSLMD_LICENSE_FILE` - `UATDATA` - `PROFILEREAD` - `KLOCWORK_SERVER_PORT` - `all_proxy` - `ESTECO_LICENSE_FILE` - `CANTATA_JAVA_HOME` - `HOMEDRIVE` - `LSFORCEHOST` - `SYSTEMDRIVE` - `HOSTNAME` - `MLM_LICENSE_FILE` - `PROCESSOR_LEVEL` - `PAM_LMD_LICENSE_FILE` - `OS` - `TSIM_CONFIG_DIR` - `MSC_LICENSE_DISCRETE` - `OneDrive` - `ABAQUSLM_LICENSE_FILE` - `ANSA_SRV` - `KLOCWORK_LTOKEN` - `USER` - `EXECIGNORE` - `KLOCWORK_SERVER_HOST` - `RLM_LICENSE` - `TEMP` - `SHLVL` - `GTISOFT_LICENSE_FILE` - `EDITOR` - `HOMEPATH` - `LOGONSERVER` - `ALLUSERSPROFILE` - `MADLIC_LICENSE_FILE` - `HOMESHARE` - `PIP_PYTHON_PATH` - `_` - `ALTAIR_LICENSE_PATH` - `RY_LICENSE_FILE` - `APPDATA` - `HTTP_PROXY` - `WPDFScope` - `MINTTY_SHORTCUT` - `PIP_SHIMS_BASE_MODULE` - `TMP` - `PSModulePath` - `DS_HELP_LOG_DIR` - `USERDOMAIN` - `MSC_LICENSE_FILE` - `COMMONPROGRAMFILES` - `HOME` - `LANG` - `ProgramData` - `PROCESSOR_ARCHITECTURE` - `https_proxy` - `SHELLOPTS` - `ProgramFiles(x86)` - `ProgramW6432` - `USERNAME` - `USERDNSDOMAIN` - `USERDOMAIN_ROAMINGPROFILE` - `PATHEXT` - `CommonProgramW6432` - `WINDIR` - `TAITHERM_LICENSE_FILE` - `NUMBER_OF_PROCESSORS` - `HTTPS_PROXY` - `PUBLIC` - `USERPROFILE` - `NILM_LICENSE_FILE` - `MAGNAECS_LICENSE_FILE` - `WRSD_LICENSE_FILE` - `ORIGINAL_PATH` - `WPDFDOMAIN` - `PROCESSOR_IDENTIFIER` - `PY_PYTHON` - `PROGRAMFILES` - `PROCESSOR_REVISION` - `PATH` - `PIP_DISABLE_PIP_VERSION_CHECK` - `COMSPEC` - `TERM` - `PS1` - `TZ` - `no_proxy` - `CANoe_InstallDir64` - `LOCALAPPDATA` - `PYTHONFINDER_IGNORE_UNSUPPORTED` - `HTC_DEVELOPMENT` - `LC_ALL` - `CDLMD_LICENSE_FILE` - `OLDPWD` - `HTC_LICENSES` - `AVL_LICENSE_FILE` - `PWD` - `HBMUK_LICENSE_PATH` PipenvÔÇôspecific environment variables: DebugÔÇôspecific environment variables: - `PATH`: `/usr/local/bin:/usr/bin:/cygdrive/c/HighTec/toolchains/tricore/v4.6.6.1/bin:/cygdrive/c/HighTec/licensemanager:/cygdrive/c/Devtools/Install/Cantata/8.0.1.1/cantata/MinGW/bin:/cygdrive/c/Devtools/Install/Cantata/8.0.1.1/cantata/bin:/cygdrive/c/oracle/product/32bitclient/bin:/cygdrive/c/Devtools/cantata/bin:/cygdrive/c/Devtools/cantata/MinGW/bin:/cygdrive/c/Devtools/cantata/MinGW/msys/1.0/bin:/cygdrive/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/Serena/Dimensions 14.3/CM/prog64:/cygdrive/c/Program Files (x86)/Serena/Dimensions 14.3/CM/prog:/cygdrive/c/Program Files (x86)/Serena/Dimensions 14.3/CM/prog64:/cygdrive/c/Matlab2017b/runtime/win64:/cygdrive/c/Matlab2017b/bin:/cygdrive/c/Devtools/Install/Klocwork_CMD_PE/LATEST/bin:/cygdrive/c/Users/A331144/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/A331144/AppData/Local/Programs/Microsoft VS Code/bin:/cygdrive/c/Devtools/Install/Hightec/4.6.6.1/licensemanager:/cygdrive/c/Program Files (x86)/Python37-32:/cygdrive/c/Users/A331144/AppData/Roaming/Python/Python37/Scripts:/cygdrive/c/Users/A331144/AppData/Local/Programs/Python/Python37-32:/cygdrive/c/Program Files/Git/bin` - `SHELL`: `/bin/bash` - `EDITOR`: `vim.exe` - `LANG`: `en_US.UTF-8` - `PWD`: `/cygdrive/c/Users/A331144/home/test` --------------------------- Contents of `Pipfile` ('/cygdrive/c/Users/A331144/home/test/Pipfile'): ```toml [[source]] name = "pypi" url = "https://pypi.org/simple" verify_ssl = true [dev-packages] [packages] pypiwin32 = "*" ``` Contents of `Pipfile.lock` ('/cygdrive/c/Users/A331144/home/test/Pipfile.lock'): ```json { "_meta": { "hash": { "sha256": "17ce5c61d4628b82bfc71ad30d7706675c4fd9e422ffeba26942d89a6b0aaf9c" }, "pipfile-spec": 6, "requires": {}, "sources": [ { "name": "pypi", "url": "https://pypi.org/simple", "verify_ssl": true } ] }, "default": { "pypiwin32": { "hashes": [ "sha256:67adf399debc1d5d14dffc1ab5acacb800da569754fafdc576b2a039485aa775", "sha256:71be40c1fbd28594214ecaecb58e7aa8b708eabfa0125c8a109ebd51edbd776a" ], "index": "pypi", "version": "==223" }, "pywin32": { "hashes": [ "sha256:22e218832a54ed206452c8f3ca9eff07ef327f8e597569a4c2828be5eaa09a77", "sha256:32b37abafbfeddb0fe718008d6aada5a71efa2874f068bee1f9e703983dcc49a", "sha256:35451edb44162d2f603b5b18bd427bc88fcbc74849eaa7a7e7cfe0f507e5c0c8", "sha256:4eda2e1e50faa706ff8226195b84fbcbd542b08c842a9b15e303589f85bfb41c", "sha256:5f265d72588806e134c8e1ede8561739071626ea4cc25c12d526aa7b82416ae5", "sha256:6852ceac5fdd7a146b570655c37d9eacd520ed1eaeec051ff41c6fc94243d8bf", "sha256:6dbc4219fe45ece6a0cc6baafe0105604fdee551b5e876dc475d3955b77190ec", "sha256:9bd07746ce7f2198021a9fa187fa80df7b221ec5e4c234ab6f00ea355a3baf99" ], "version": "==224" } }, "develop": {} } ```
felixmr1 commented 5 years ago

So this is not a bug, since pywin32 is a sub-dependency for pypiwin32.

The problem I had was that I could not install the different packages due to different system was solved with the sys_platform keyword.

pypiwin32 = {version="", index="artifactory", sys_platform="=='cygwin'"} pywin32 = {version="", index="artifactory", sys_platform="=='win32'"}