You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pip exposes the argument --isolated to "ignore environment variables and user configuration" (including $HOME/.pip/pip.conf) https://pip.pypa.io/en/stable/cli/pip/.
As pip-compile exposes an argument "--pip-args" I would expect that passing --isolated would ignore "$HOME/.pip/pip.conf" file. But the below command includes "--extra-index-url https://pypi.org/simple" which is only present in $HOME/.pip/pip.conf
pip-compile --pip-args "--isolated" --extra-index-url=https://server/repository/pypi-dev/simple --index-url=https://server/repository/pypi-prod/simple --output-file=./requirements_build.txt ./requirements_build.in
# OUTPUT# WARNING: --strip-extras is becoming the default in version 8.0.0. To silence this warning, either use --strip-extras to opt into the new default or use --no-strip-extras to retain the existing behavior.# ## # This file is autogenerated by pip-compile with Python 3.11# # by the following command:# ## # pip-compile --extra-index-url=https://server/repository/pypi-dev/simple --index-url=https://server/repository/pypi-pro# d/simple --output-file=../src/requirements_build.txt --pip-args='--isolated' ../src/requirements_build.in# ## --index-url https://server/repository/pypi-prod/simple# --extra-index-url https://pypi.org/simple# --extra-index-url https://server/repository/pypi-dev/simple
BUT when calling pip self.parser.parse_args it calls self.get_default_values => Which doesnt takes --isolated => and it load the user conf
File "path/venv/lib/python3.11/site-packages/piptools/scripts/compile.py", line 311, in cli
tmp_repository = PyPIRepository(pip_args, cache_dir=cache_dir)
File "path/venv/lib/python3.11/site-packages/piptools/repositories/pypi.py", line 69, in __init__
options, _ = self.command.parse_args(pip_args)
File "path/venv/lib/python3.11/site-packages/pip/_internal/cli/base_command.py", line 152, in parse_args
a = self.parser.parse_args(args)
File "/usr/lib/python3.11/optparse.py", line 1371, in parse_args
values = self.get_default_values()
File "path/venv/lib/python3.11/site-packages/pip/_internal/cli/parser.py", line 279, in get_default_values
self.config.load()
File "path/venv/lib/python3.11/site-packages/pip/_internal/configuration.py", line 124, in load
self._load_config_files()
File "path/venv/lib/python3.11/site-packages/pip/_internal/configuration.py", line 246, in _load_config_files
config_files = dict(self.iter_config_files())
File "path/venv/lib/python3.11/site-packages/pip/_internal/configuration.py", line 349, in iter_config_files
import traceback; traceback.print_stack()
@@@@ should_load_user_config! True
@@@@ self.parser.parse_args: (<Values at 0x7f662d7da250: {'help': None, 'debug_mode': False, 'isolated_mode': True,
I don't know if it's a pip-tools or a pip limitations. What's your thoughts ?
Pip exposes the argument
--isolated
to "ignore environment variables and user configuration" (including $HOME/.pip/pip.conf) https://pip.pypa.io/en/stable/cli/pip/.As pip-compile exposes an argument "--pip-args" I would expect that passing --isolated would ignore "$HOME/.pip/pip.conf" file. But the below command includes "--extra-index-url https://pypi.org/simple" which is only present in $HOME/.pip/pip.conf
Content of $HOME/.pip/pip.conf
If we are adding some traces in pip-tools and pip we can see that pip_args contains --isolated
BUT when calling pip self.parser.parse_args it calls self.get_default_values => Which doesnt takes --isolated => and it load the user conf
I don't know if it's a pip-tools or a pip limitations. What's your thoughts ?
Environment Versions
3.11.2
24.0
7.4.1
Steps to replicate
Expected result
pip-compile should ignore $HOME/.pip/pip.conf file and the output should NOT include "--extra-index-url https://pypi.org/simple"
Actual result
The output includes "--extra-index-url https://pypi.org/simple"
The text was updated successfully, but these errors were encountered: