pypa / pipenv

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

pipenv appends to PYTHONPATH, so default (undesirable) lib path is found first #6234

Closed tnilanon closed 1 month ago

tnilanon commented 2 months ago

Issue description

I have pyenv with python 3.11.9 installed. This "default" installation has setuptools==74.1.2 and I used it to create a virtual environment via pipenv.

Now inside this virtual environment (with pipenv shell), I'm trying to install an older version of a package. There is no binary available, so pip tries to build it from source. This particular version of the package needs setuptools==68.0.0, so I installed it in the virtual environment. The problem is my PYTHONPATH ordering seems to be prioritizing the lib from the "default" installation instead of the lib from the virtual environment, so the build fails.

Current python path from sys.path:

[
    '',
    'C:\\Users\\redacted-user\\.pyenv\\pyenv-win\\versions\\3.11.9\\python311.zip',
    'C:\\Users\\redacted-user\\.pyenv\\pyenv-win\\versions\\3.11.9\\DLLs',
    'C:\\Users\\redacted-user\\.pyenv\\pyenv-win\\versions\\3.11.9\\Lib',
    'C:\\Users\\redacted-user\\.pyenv\\pyenv-win\\versions\\3.11.9',
    'C:\\Users\\redacted-user\\.virtualenvs\\redacted-hashdVal',
    'C:\\Users\\redacted-user\\.virtualenvs\\redacted-hashdVal\\Lib\\site-packages'
]

I think the last entry there should be at the top to fix this issue.

I believe pip is using setuptools==74.1.2 to build (and failed) because the build process looks for setuptools.msvc.msvc14_get_vc_env which was presented in setuptools==68.0.0, but not in 74.1.2.

Expected result

  1. pip build should be able to find setuptools==68.0.0
  2. PYTHONPATH should prioritize lib from virtual environment, not the other way around.

Actual result

AttributeError: module 'setuptools.msvc' has no attribute 'msvc14_get_vc_env' Traceback (most recent call last): File "C:\Users\redacted-user\.virtualenvs\redacted-hashdVal\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in main() File "C:\Users\redacted-user\.virtualenvs\redacted-hashdVal\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\redacted-user\.virtualenvs\redacted-hashdVal\Lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\build_meta.py", line 332, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=[]) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\build_meta.py", line 302, in _get_build_requires self.run_setup() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\build_meta.py", line 318, in run_setup exec(code, locals()) File "", line 1375, in File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\__init__.py", line 117, in setup return distutils.core.setup(**attrs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 184, in setup return run_commands(dist) ^^^^^^^^^^^^^^^^^^ File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands dist.run_commands() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 954, in run_commands self.run_command(cmd) File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command cmd_obj.run() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 311, in run self.find_sources() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 319, in find_sources mm.run() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 540, in run self.add_defaults() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\command\egg_info.py", line 578, in add_defaults sdist.add_defaults(self) File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\command\sdist.py", line 108, in add_defaults super().add_defaults() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\command\sdist.py", line 250, in add_defaults self._add_defaults_ext() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\command\sdist.py", line 334, in _add_defaults_ext build_ext = self.get_finalized_command('build_ext') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 303, in get_finalized_command cmd_obj.ensure_finalized() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 111, in ensure_finalized self.finalize_options() File "", line 1112, in finalize_options File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\dist.py", line 950, in run_command super().run_command(command) File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\dist.py", line 972, in run_command cmd_obj.ensure_finalized() File "C:\Users\redacted-user\AppData\Local\Temp\pip-build-env-0k9rsanh\overlay\Lib\site-packages\setuptools\_distutils\cmd.py", line 111, in ensure_finalized self.finalize_options() File "", line 359, in finalize_options File "C:\Users\redacted-user\AppData\Local\Temp\pip-install-n00bj9jo\pyzmq_f14305d6a30a4a9aa78fa956e48cfef5\buildutils\misc.py", line 71, in locate_vcredist_dir vcvars = msvc.msvc14_get_vc_env(plat) ^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'setuptools.msvc' has no attribute 'msvc14_get_vc_env'

Steps to replicate

  1. Install pyenv and python 3.11.9
  2. Install pipenv and setuptools==74.1.2
  3. Inside virtual environment, install setuptools==68.0.0 and try to build pyzmq==23.2.0
  4. Inspect PYTHONPATH inside virtual environment

Please note that I have auto_activate_base: false in my .condarc file.

$ pipenv --support Pipenv version: `'2024.0.1'` Pipenv location: `'C:\\Users\\redacted-user\\.pyenv\\pyenv-win\\versions\\3.11.9\\Lib\\site-packages\\pipenv'` Python location: `'C:\\Users\\redacted-user\\.pyenv\\pyenv-win\\versions\\3.11.9\\python.exe'` OS Name: `'nt'` User pip version: `'24.0'` user Python installations found: PEP 508 Information: ``` {'implementation_name': 'cpython', 'implementation_version': '3.11.9', 'os_name': 'nt', 'platform_machine': 'AMD64', 'platform_python_implementation': 'CPython', 'platform_release': '10', 'platform_system': 'Windows', 'platform_version': '10.0.19045', 'python_full_version': '3.11.9', 'python_version': '3.11', 'sys_platform': 'win32'} ``` System environment variables: - `ALLUSERSPROFILE` - `APPDATA` - `BINDIR` - `CMDLINE` - `COMMANDS` - `COMMONPROGRAMFILES` - `COMMONPROGRAMFILES(X86)` - `COMMONPROGRAMW6432` - `COMPUTERNAME` - `COMSPEC` - `CONDA_BAT` - `CONDA_EXE` - `CONDA_PROMPT_MODIFIER` - `CONDA_SHLVL` - `DRIVERDATA` - `EXTRAPATHS` - `HOMEDRIVE` - `HOMEPATH` - `LOCALAPPDATA` - `LOGONSERVER` - `NUMBER_OF_PROCESSORS` - `NVM_HOME` - `NVM_SYMLINK` - `ONEDRIVE` - `ONEDRIVECOMMERCIAL` - `OS` - `PATH` - `PATHEXT` - `PIPENV_ACTIVE` - `PIPENV_SHELL` - `PIP_DISABLE_PIP_VERSION_CHECK` - `PIP_PYTHON_PATH` - `POSH_CURSOR_COLUMN` - `POSH_CURSOR_LINE` - `POSH_INSTALLER` - `POSH_PID` - `POSH_SHELL_VERSION` - `POSH_THEME` - `POSH_THEMES_PATH` - `POWERLINE_COMMAND` - `POWERSHELL_DISTRIBUTION_CHANNEL` - `POWERSHELL_UPDATECHECK` - `PROCESSOR_ARCHITECTURE` - `PROCESSOR_IDENTIFIER` - `PROCESSOR_LEVEL` - `PROCESSOR_REVISION` - `PROGRAMDATA` - `PROGRAMFILES` - `PROGRAMFILES(X86)` - `PROGRAMW6432` - `PROMPT` - `PSMODULEPATH` - `PUBLIC` - `PYENV` - `PYENV_HOME` - `PYENV_ROOT` - `PYTHONDONTWRITEBYTECODE` - `PYTHON_SHIMS` - `SESSIONNAME` - `SKIP` - `SYSTEMDRIVE` - `SYSTEMROOT` - `TEMP` - `TMP` - `UATDATA` - `USERDNSDOMAIN` - `USERDOMAIN` - `USERDOMAIN_ROAMINGPROFILE` - `USERNAME` - `USERPROFILE` - `VIRTUAL_ENV` - `WINDIR` - `WSLENV` - `WT_PROFILE_ID` - `WT_SESSION` - `ZES_ENABLE_SYSMAN` - `_CONDA_EXE` - `_CONDA_ROOT` - `_PATH` - `PYTHONFINDER_IGNORE_UNSUPPORTED` Pipenv–specific environment variables: - `PIPENV_ACTIVE`: `1` - `PIPENV_SHELL`: `pwsh` Debug–specific environment variables: - `PATH`: `C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.9.13;C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.8.10;C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.7.9;C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.11.9;C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.11.7;C:\Program Files\PowerShell\7;C:\Users\redacted-user\.virtualenvs\redacted-hashdVal\Scripts;C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.11.9;C:\Users\redacted-user\.pyenv\pyenv-win\versions\3.11.9\Scripts;C:\Users\redacted-user\AppData\Roaming\Python\Python311\Scripts;C:\Users\redacted-user\Anaconda3\condabin;C:\Program Files\PowerShell\7;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Azure Data Studio\bin;C:\Program Files\dotnet\;C:\Program Files\Microsoft SDKs\Azure\CLI2\wbin;C:\Program Files (x86)\Microsoft SQL Server\160\DTS\Binn\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Users\redacted-user\AppData\Roaming\nvm;C:\Program Files\nodejs;C:\Program Files\Docker\Docker\resources\bin;C:\Program Files\Git\cmd;C:\Program Files\PowerShell\7\;C:\Users\redacted-user\.pyenv\pyenv-win\bin;C:\Users\redacted-user\AppData\Local\Microsoft\WindowsApps;C:\Users\redacted-user\AppData\Local\Microsoft\WinGet\Packages\Databricks.DatabricksCLI_Microsoft.Winget.Source_8wekyb3d8bbwe;C:\Users\redacted-user\AppData\Local\Programs\Git\cmd;C:\Users\redacted-user\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\redacted-user\AppData\Roaming\nvm;C:\Users\redacted-user\.dotnet\tools;C:\Program Files\nodejs;C:\Program Files\qpdf 11.6.3\bin;C:\Users\redacted-user\AppData\Local\Programs\oh-my-posh\bin;C:\Users\redacted-user\.dotnet\tools;` - `VIRTUAL_ENV`: `C:\Users\redacted-user\.virtualenvs\redacted-hashdVal` --------------------------- Contents of `Pipfile` ('C:\\Users\\redacted-user\\codes\\redacted\\Pipfile'): ```toml [[source]] url = "https://pypi.org/simple" verify_ssl = true name = "pypi" [packages] absl-py = "==1.0.0" accelerate = "==0.31.0" aiohttp = "==3.8.5" aiohttp-cors = "==0.7.0" aiosignal = "==1.2.0" anyio = "==3.5.0" argon2-cffi = "==21.3.0" argon2-cffi-bindings = "==21.2.0" astor = "==0.8.1" asttokens = "==2.0.5" astunparse = "==1.6.3" async-timeout = "==4.0.2" attrs = "==22.1.0" audioread = "==3.0.1" azure-core = "==1.30.2" azure-cosmos = "==4.3.1" azure-identity = "==1.17.1" azure-storage-blob = "==12.19.1" azure-storage-file-datalake = "==12.14.0" backcall = "==0.2.0" bcrypt = "==3.2.0" beautifulsoup4 = "==4.12.2" black = "==23.3.0" bleach = "==4.1.0" blinker = "==1.4" blis = "==0.7.11" boto3 = "==1.34.39" botocore = "==1.34.39" brotli = "==1.0.9" cachetools = "==5.4.0" catalogue = "==2.0.10" category-encoders = "==2.6.3" certifi = "==2023.7.22" cffi = "==1.15.1" chardet = "==4.0.0" charset-normalizer = "==2.0.4" circuitbreaker = "==1.4.0" click = "==8.0.4" cloudpathlib = "==0.16.0" cloudpickle = "==2.2.1" cmdstanpy = "==1.2.2" colorful = "==0.5.6" comm = "==0.1.2" confection = "==0.1.4" configparser = "==5.2.0" contourpy = "==1.0.5" cryptography = "==41.0.3" cycler = "==0.11.0" cymem = "==2.0.8" cython = "==0.29.32" dacite = "==1.8.1" databricks-automl-runtime = "==0.2.21" databricks-feature-engineering = "==0.6.0" databricks-sdk = "==0.20.0" dataclasses-json = "==0.6.7" datasets = "==2.19.1" dbl-tempo = "==0.1.26" dbus-python = "==1.2.18" debugpy = "==1.6.7" decorator = "==5.1.1" deepspeed = "==0.14.4" defusedxml = "==0.7.1" deprecated = "==1.2.14" dill = "==0.3.6" diskcache = "==5.6.3" distlib = "==0.3.8" dm-tree = "==0.1.8" entrypoints = "==0.4" evaluate = "==0.4.2" executing = "==0.8.3" facets-overview = "==1.1.1" farama-notifications = "==0.0.4" fastjsonschema = "==2.20.0" fasttext = "==0.9.2" filelock = "==3.13.4" flask = "==2.2.5" flatbuffers = "==24.3.25" fonttools = "==4.25.0" frozenlist = "==1.3.3" fsspec = "==2023.5.0" future = "==0.18.3" gast = "==0.4.0" gitdb = "==4.0.11" gitpython = "==3.1.27" google-api-core = "==2.18.0" google-auth = "==2.21.0" google-auth-oauthlib = "==1.0.0" google-cloud-core = "==2.4.1" google-cloud-storage = "==2.10.0" google-crc32c = "==1.5.0" google-pasta = "==0.2.0" google-resumable-media = "==2.7.1" googleapis-common-protos = "==1.63.0" greenlet = "==2.0.1" grpcio = "==1.60.0" grpcio-status = "==1.60.0" gunicorn = "==20.1.0" gviz-api = "==1.10.0" gymnasium = "==0.28.1" h11 = "==0.14.0" h5py = "==3.10.0" hjson = "==3.1.0" holidays = "==0.45" horovod = "==0.28.1+db1" htmlmin = "==0.1.12" httpcore = "==1.0.5" httplib2 = "==0.20.2" httpx = "==0.27.0" huggingface-hub = "==0.23.4" idna = "==3.4" imagehash = "==4.3.1" imageio = "==2.31.1" imbalanced-learn = "==0.11.0" importlib-metadata = "==6.0.0" importlib-resources = "==6.4.0" ipyflow-core = "==0.0.198" ipykernel = "==6.25.1" ipython = "==8.15.0" ipython-genutils = "==0.2.0" ipywidgets = "==7.7.2" isodate = "==0.6.1" itsdangerous = "==2.0.1" jax-jumpy = "==1.0.0" jedi = "==0.18.1" jeepney = "==0.7.1" jinja2 = "==3.1.2" jmespath = "==0.10.0" joblib = "==1.2.0" joblibspark = "==0.5.1" jsonpatch = "==1.33" jsonpointer = "==3.0.0" jsonschema = "==4.17.3" jupyter-server = "==1.23.4" jupyter-client = "==7.4.9" jupyter-core = "==5.3.0" jupyterlab-pygments = "==0.1.2" keras = "==3.2.1" keyring = "==23.5.0" kiwisolver = "==1.4.4" langchain = "==0.1.20" langchain-community = "==0.0.38" langchain-core = "==0.1.52" langchain-text-splitters = "==0.0.2" langcodes = "==3.4.0" langsmith = "==0.1.63" language-data = "==1.2.0" launchpadlib = "==1.10.16" "lazr.restfulclient" = "==0.14.4" "lazr.uri" = "==1.0.6" lazy-loader = "==0.2" libclang = "==15.0.6.1" librosa = "==0.10.1" lightgbm = "==4.3.0" linkify-it-py = "==2.0.0" llvmlite = "==0.40.0" lxml = "==4.9.2" lz4 = "==4.3.2" mako = "==1.2.0" marisa-trie = "==1.1.1" markdown = "==3.4.1" markdown-it-py = "==2.2.0" markupsafe = "==2.1.1" marshmallow = "==3.21.2" matplotlib = "==3.7.2" matplotlib-inline = "==0.1.6" mdit-py-plugins = "==0.3.0" mdurl = "==0.1.0" memray = "==1.13.3" mistune = "==0.8.4" ml-dtypes = "==0.3.2" mlflow-skinny = "==2.13.1" more-itertools = "==8.10.0" mosaicml-streaming = "==0.7.4" mpmath = "==1.3.0" msal = "==1.29.0" msal-extensions = "==1.2.0" msgpack = "==1.0.8" multidict = "==6.0.2" multimethod = "==1.12" multiprocess = "==0.70.14" murmurhash = "==1.0.10" mypy-extensions = "==0.4.3" namex = "==0.0.8" nbclassic = "==0.5.5" nbclient = "==0.5.13" nbconvert = "==6.5.4" nbformat = "==5.7.0" nest-asyncio = "==1.5.6" networkx = "==3.1" ninja = "==1.11.1.1" nltk = "==3.8.1" notebook = "==6.5.4" notebook-shim = "==0.2.2" numba = "==0.57.1" numpy = "==1.23.5" nvidia-ml-py = "==12.555.43" oauthlib = "==3.2.0" oci = "==2.126.4" openai = "==1.35.3" opencensus = "==0.11.4" opencensus-context = "==0.1.3" opentelemetry-api = "==1.25.0" opentelemetry-sdk = "==1.25.0" opentelemetry-semantic-conventions = "==0.46b0" opt-einsum = "==3.3.0" optree = "==0.12.1" orjson = "==3.10.6" packaging = "==23.2" pandas = "==1.5.3" pandocfilters = "==1.5.0" paramiko = "==3.4.0" parso = "==0.8.3" pathspec = "==0.10.3" patsy = "==0.5.3" petastorm = "==0.12.1" pexpect = "==4.8.0" phik = "==0.12.4" pickleshare = "==0.7.5" pillow = "==9.4.0" platformdirs = "==3.10.0" plotly = "==5.9.0" pmdarima = "==2.0.4" pooch = "==1.8.1" portalocker = "==2.10.1" preshed = "==3.0.9" prometheus-client = "==0.14.1" prompt-toolkit = "==3.0.36" prophet = "==1.1.5" proto-plus = "==1.24.0" protobuf = "==4.24.1" psutil = "==5.9.0" psycopg2 = "==2.9.3" ptyprocess = "==0.7.0" pure-eval = "==0.2.2" py-cpuinfo = "==8.0.0" py-spy = "==0.3.14" pyarrow = "==14.0.1" pyarrow-hotfix = "==0.6" pyasn1 = "==0.4.8" pyasn1-modules = "==0.2.8" pybind11 = "==2.13.1" pyccolo = "==0.0.52" pycparser = "==2.21" pydantic = "==1.10.6" pygments = "==2.15.1" pygobject = "==3.42.1" pyjwt = "==2.3.0" pynacl = "==1.5.0" pyodbc = "==4.0.38" pyopenssl = "==23.2.0" pyparsing = "==3.0.9" pyrsistent = "==0.18.0" pytesseract = "==0.3.10" python-dateutil = "==2.8.2" python-editor = "==1.0.4" python-lsp-jsonrpc = "==1.1.1" python-snappy = "==0.6.1" pytz = "==2022.7" pywavelets = "==1.4.1" pyyaml = "==6.0" pyzmq = "==23.2.0" ray = "==2.20.0" regex = "==2022.7.9" requests = "==2.31.0" requests-oauthlib = "==1.3.1" rich = "==13.7.1" rsa = "==4.9" s3transfer = "==0.10.2" safetensors = "==0.4.2" scikit-image = "==0.20.0" scikit-learn = "==1.3.0" scipy = "==1.11.1" seaborn = "==0.12.2" secretstorage = "==3.3.1" send2trash = "==1.8.0" sentence-transformers = "==2.7.0" sentencepiece = "==0.1.99" shap = "==0.44.0" simplejson = "==3.17.6" six = "==1.16.0" slicer = "==0.0.7" smart-open = "==5.2.1" smmap = "==5.0.0" sniffio = "==1.2.0" soundfile = "==0.12.1" soupsieve = "==2.4" soxr = "==0.3.7" spacy = "==3.7.2" spacy-legacy = "==3.0.12" spacy-loggers = "==1.0.5" spark-tensorflow-distributor = "==1.0.0" sqlalchemy = "==1.4.39" sqlparse = "==0.4.2" srsly = "==2.4.8" ssh-import-id = "==5.11" stack-data = "==0.2.0" stanio = "==0.5.1" statsmodels = "==0.14.0" sympy = "==1.11.1" tangled-up-in-unicode = "==0.2.0" tenacity = "==8.2.2" tensorboard = "==2.16.2" tensorboard-data-server = "==0.7.2" tensorboard-plugin-profile = "==2.15.1" tensorboardx = "==2.6.2.2" tensorflow = "==2.16.1" tensorflow-estimator = "==2.15.0" tensorflow-io-gcs-filesystem = "==0.37.1" termcolor = "==2.4.0" terminado = "==0.17.1" textual = "==0.63.3" tf-keras = "==2.16.0" thinc = "==8.2.3" threadpoolctl = "==2.2.0" tifffile = "==2021.7.2" tiktoken = "==0.5.2" tinycss2 = "==1.2.1" tokenize-rt = "==4.2.1" tokenizers = "==0.19.0" torch = "==2.3.1" torcheval = "==0.0.7" torchvision = "==0.18.1" tornado = "==6.3.2" tqdm = "==4.65.0" traitlets = "==5.7.1" transformers = "==4.41.2" typeguard = "==2.13.3" typer = "==0.9.4" typing-inspect = "==0.9.0" typing-extensions = "==4.10.0" tzdata = "==2022.1" uc-micro-py = "==1.0.1" ujson = "==5.4.0" urllib3 = "==1.26.16" virtualenv = "==20.24.2" visions = "==0.7.5" wadllib = "==1.3.6" wasabi = "==1.1.2" wcwidth = "==0.2.5" weasel = "==0.3.4" webencodings = "==0.5.1" websocket-client = "==0.58.0" werkzeug = "==2.2.3" wordcloud = "==1.9.3" wrapt = "==1.14.1" xgboost = "==2.0.3" xxhash = "==3.4.1" yarl = "==1.8.1" ydata-profiling = "==4.5.1" zipp = "==3.11.0" zstd = "==1.5.5.1" [dev-packages] [requires] python_version = "3.11" ```
oz123 commented 2 months ago

Changing this would be a breaking change of behavior. Also, I think it's a feature of the underline venv activate script, not so much of pipenv.

tnilanon commented 1 month ago

@oz123 I think the current behavior is quite counter-intuitive, but I don't know enough to give an informed opinion on this topic. When I have time (not likely anytime soon), I will dive into venv activate script to confirm your hypothesis.

I will close this issue for now.

tnilanon commented 1 month ago

Mark as closed