via @asherf : "I have only seen it once (in CI), however, this is concerning."
๐ Bandit failed.
Traceback (most recent call last):
File "/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap/pex/pex.py", line 401, in execute
File "/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap/pex/pex.py", line 333, in _wrap_coverage
File "/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap/pex/pex.py", line 364, in _wrap_profiling
File "/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap/pex/pex.py", line 452, in _execute
File "/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap/pex/pex.py", line 549, in execute_entry
File "/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap/pex/pex.py", line 556, in execute_module
File "/usr/local/lib/python3.8/runpy.py", line 202, in run_module
mod_name, mod_spec, code = _get_module_details(mod_name)
File "/usr/local/lib/python3.8/runpy.py", line 143, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/usr/local/lib/python3.8/runpy.py", line 110, in _get_module_details
__import__(pkg_name)
File "/home/toolchain/.pex/installed_wheels/15d2aa75fdcfe6784df2a47644a713e788abe936/bandit-1.6.2-py2.py3-none-any.whl/bandit/__init__.py", line 19, in <module>
from bandit.core import config # noqa
File "/home/toolchain/.pex/installed_wheels/15d2aa75fdcfe6784df2a47644a713e788abe936/bandit-1.6.2-py2.py3-none-any.whl/bandit/core/__init__.py", line 17, in <module>
from bandit.core import config # noqa
File "/home/toolchain/.pex/installed_wheels/15d2aa75fdcfe6784df2a47644a713e788abe936/bandit-1.6.2-py2.py3-none-any.whl/bandit/core/config.py", line 22, in <module>
from bandit.core import extension_loader
File "/home/toolchain/.pex/installed_wheels/15d2aa75fdcfe6784df2a47644a713e788abe936/bandit-1.6.2-py2.py3-none-any.whl/bandit/core/extension_loader.py", line 118, in <module>
MANAGER = Manager()
File "/home/toolchain/.pex/installed_wheels/15d2aa75fdcfe6784df2a47644a713e788abe936/bandit-1.6.2-py2.py3-none-any.whl/bandit/core/extension_loader.py", line 35, in __init__
self.load_formatters(formatters_namespace)
File "/home/toolchain/.pex/installed_wheels/15d2aa75fdcfe6784df2a47644a713e788abe936/bandit-1.6.2-py2.py3-none-any.whl/bandit/core/extension_loader.py", line 40, in load_formatters
self.formatters_mgr = extension.ExtensionManager(
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/extension.py", line 101, in __init__
extensions = self._load_plugins(invoke_on_load,
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/extension.py", line 186, in _load_plugins
for ep in self.list_entry_points():
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/extension.py", line 175, in list_entry_points
eps = list(_cache.get_group_all(self.namespace))
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/_cache.py", line 171, in get_group_all
data = self._get_data_for_path(path)
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/_cache.py", line 148, in _get_data_for_path
digest, path_values = _hash_settings_for_path(path)
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/_cache.py", line 86, in _hash_settings_for_path
mtime = _get_mtime(entry)
File "/home/toolchain/.pex/installed_wheels/00819186ecdcbd98d3ccae67a09c673ec7165d77/stevedore-3.0.0-py3-none-any.whl/stevedore/_cache.py", line 62, in _get_mtime
s = os.stat(name)
NotADirectoryError: [Errno 20] Not a directory: '/tmp/process-executionIgo8Kg/bandit.pex/.bootstrap'
@stuhood and @asherf this is fairly un-useful as it stands. Can either of you provide a repro? That would make debugging this much more sane.
I hit this in CI at https://travis-ci.com/github/pantsbuild/pants/jobs/359972513#L1465. I assumed it was related to my change. Where did you first notice this, Asher?
not a public link... however @jsirois should be able to see.
https://app.circleci.com/pipelines/github/toolchainlabs/toolchain/18109/workflows/7987edb0-159a-44c5-97c3-914fcf213cc7/jobs/21162
Thanks @Eric-Arellano and @asherf both - thats useful. Since Eric's example is public I suggest rolling with that repro case.
FYI https://github.com/pantsbuild/pants/pull/10319 is the fix. Yay floating transitive dependencies ๐
it looks like this issue resurfaced
@cristianmatache can you provide more data? In particular any bandit custom options you have and what Pants version you're using? Backtraces and full log output are also always excellent to have.
pants 2.2.0 on WSL
(base) cristian@Cristian-XPS13:~/workspace$ ./pants -ldebug lint :: --no-pantsd
23:45:02.98 [DEBUG] File handle limit is: 10000
23:45:03.28 [DEBUG] specs are: Specs(address_specs=AddressSpecs(literals=(), globs=(DescendantAddresses(directory=''),), filter_by_global_options=True), filesystem_specs=FilesystemSpecs(includes=(), ignores=()))
23:45:03.28 [DEBUG] changed_options are: ChangedOptions(since=None, diffspec=None, dependees=<DependeesOption.NONE: 'none'>)
23:45:03.29 [DEBUG] Launching 1 roots (poll=false).
23:45:03.30 [DEBUG] computed 1 nodes in 0.005296 seconds. there are 3 total nodes.
23:45:03.33 [DEBUG] requesting <class 'pants.core.goals.lint.Lint'> to satisfy execution of `lint` goal
23:45:03.36 [DEBUG] Launching 1 roots (poll=false).
23:45:03.44 [DEBUG] Completed: Find targets from input specs
23:45:03.45 [WARN] /home/cristian/.cache/pants/setup/bootstrap-Linux-x86_64/2.2.0_py38/lib/python3.8/site-packages/pants/util/meta.py:188: DeprecationWarning: DEPRECATED: the 'mypy_source_plugin' target type will be removed in version 2.3.0.dev0.
Using the `mypy_source_plugin` target type for lib_py_utils/py_utils:mypy_plugin. Use a `python_library` target rather than `mypy_source_plugin`, which behaves identically. If you change the target's name, update `[mypy].source_plugins`.
prev_init(self, *args, **kwargs)
23:45:03.46 [WARN] /home/cristian/.cache/pants/setup/bootstrap-Linux-x86_64/2.2.0_py38/lib/python3.8/site-packages/pants/engine/target.py:122: DeprecationWarning: DEPRECATED: the 'sources' field will be removed in version 2.3.0.dev0.
Using the `sources` field in the target app_paper_plane:main. Remove the `sources` field and set the `entry_point` field to the file name, e.g. `entry_point='app.py'` or `entry_point='app.py:func'`. Create a `python_library` target with the entry point's file included (if it does not yet exist). Pants will infer a dependency, which you can check with `./pants dependencies path/to:app`. See https://www.pantsbuild.org/v2.2/docs/python-package-goal for more instructions.
self._check_deprecated(raw_value, address)
23:45:03.61 [DEBUG] Completed: Creating map of third party targets to Python modules
23:45:03.61 [DEBUG] Running Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin under semaphore with concurrency id: 1
23:45:03.65 [DEBUG] Obtaining exclusive spawn lock for process with argv ["./find_binary.sh", "bash"] since we materialized its executable RelativePath("find_binary.sh").
23:45:03.69 [DEBUG] spawned local process as 31284 for Process { argv: ["./find_binary.sh", "bash"], env: {"PATH": "/usr/bin:/bin:/usr/local/bin"}, working_directory: None, input_files: Digest(Fingerprint<124495cfdd1160d88a797da1b5de65f0b9d57642b553d7ff5195d5375411b492>, 91), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.69 [DEBUG] Completed: Creating map of first party Python targets to Python modules
23:45:03.69 [DEBUG] Completed: pants.backend.python.dependency_inference.module_mapper.merge_first_party_module_mappings
23:45:03.71 [DEBUG] Completed: Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin
23:45:03.71 [DEBUG] Completed: (Waiting) Searching for `bash` on PATH=/usr/bin:/bin:/usr/local/bin
23:45:03.71 [DEBUG] Completed: Find binary path - found bash at BinaryPath(path='/usr/bin/bash', fingerprint='e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855') and 1 other location
23:45:03.71 [DEBUG] Running Searching for `python2` on PATH=... under semaphore with concurrency id: 2
23:45:03.71 [DEBUG] Running Searching for `python3` on PATH=.... under semaphore with concurrency id: 3
23:45:03.71 [DEBUG] Running Searching for `python` on PATH=.... under semaphore with concurrency id: 4
23:45:03.71 [DEBUG] Obtaining exclusive spawn lock for process with argv ["./find_binary.sh", "python2"] since we materialized its executable RelativePath("find_binary.sh").
23:45:03.71 [DEBUG] Obtaining exclusive spawn lock for process with argv ["./find_binary.sh", "python3"] since we materialized its executable RelativePath("find_binary.sh").
23:45:03.74 [DEBUG] Obtaining exclusive spawn lock for process with argv ["./find_binary.sh", "python"] since we materialized its executable RelativePath("find_binary.sh").
23:45:03.75 [DEBUG] spawned local process as 31286 for Process { argv: ["./find_binary.sh", "python2"], env: {"PATH": "...."}, working_directory: None, input_files: Digest(Fingerprint<dea2c9ff6e74e7dbe89142d0f10ec33c852934f2206f7b305fce33ee77049ab1>, 91), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Searching for `python2` on PATH=...", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.78 [DEBUG] Completed: Searching for `python2` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/g... (1198 characters truncated)
23:45:03.78 [DEBUG] Completed: (Waiting) Searching for `python2` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/... (1208 characters truncated)
23:45:03.78 [DEBUG] Completed: Find binary path - failed to find python2
23:45:03.79 [DEBUG] spawned local process as 31288 for Process { argv: ["./find_binary.sh", "python3"], env: {"PATH": "..."}, working_directory: None, input_files: Digest(Fingerprint<dea2c9ff6e74e7dbe89142d0f10ec33c852934f2206f7b305fce33ee77049ab1>, 91), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Searching for `python3` on PATH=..., level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.82 [DEBUG] Completed: Searching for `python3` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/g... (1198 characters truncated)
23:45:03.82 [DEBUG] Completed: (Waiting) Searching for `python3` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/... (1208 characters truncated)
23:45:03.83 [DEBUG] Running Test binary /bin/python3. under semaphore with concurrency id: 5
23:45:03.83 [DEBUG] Running Test binary /home/cristian/apps/miniconda3/bin/python3. under semaphore with concurrency id: 6
23:45:03.83 [DEBUG] Running Test binary /usr/bin/python3. under semaphore with concurrency id: 7
23:45:03.84 [DEBUG] spawned local process as 31290 for Process { argv: ["./find_binary.sh", "python"], env: {"PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin"}, working_directory: None, input_files: Digest(Fingerprint<dea2c9ff6e74e7dbe89142d0f10ec33c852934f2206f7b305fce33ee77049ab1>, 91), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Searching for `python` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.89 [DEBUG] spawned local process as 31292 for Process { argv: ["/bin/python3", "-c", "import sys\n\nmajor, minor = sys.version_info[:2]\nif (major, minor) != (2, 7) and not (major == 3 and minor >= 5):\n sys.exit(1)\n\nimport hashlib\nhasher = hashlib.sha256()\nwith open(sys.executable, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nsys.stdout.write(hasher.hexdigest())\n"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /bin/python3.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.92 [DEBUG] spawned local process as 31293 for Process { argv: ["/home/cristian/apps/miniconda3/bin/python3", "-c", "import sys\n\nmajor, minor = sys.version_info[:2]\nif (major, minor) != (2, 7) and not (major == 3 and minor >= 5):\n sys.exit(1)\n\nimport hashlib\nhasher = hashlib.sha256()\nwith open(sys.executable, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nsys.stdout.write(hasher.hexdigest())\n"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /home/cristian/apps/miniconda3/bin/python3.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.92 [DEBUG] Completed: Searching for `python` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ga... (1197 characters truncated)
23:45:03.92 [DEBUG] Completed: (Waiting) Searching for `python` on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/b... (1207 characters truncated)
23:45:03.93 [DEBUG] Running Test binary /home/cristian/apps/miniconda3/bin/python. under semaphore with concurrency id: 8
23:45:03.93 [DEBUG] spawned local process as 31294 for Process { argv: ["/usr/bin/python3", "-c", "import sys\n\nmajor, minor = sys.version_info[:2]\nif (major, minor) != (2, 7) and not (major == 3 and minor >= 5):\n sys.exit(1)\n\nimport hashlib\nhasher = hashlib.sha256()\nwith open(sys.executable, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nsys.stdout.write(hasher.hexdigest())\n"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /usr/bin/python3.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:03.97 [DEBUG] Completed: Test binary /bin/python3.
23:45:03.97 [DEBUG] Completed: (Waiting) Test binary /bin/python3.
23:45:03.97 [DEBUG] spawned local process as 31295 for Process { argv: ["/home/cristian/apps/miniconda3/bin/python", "-c", "import sys\n\nmajor, minor = sys.version_info[:2]\nif (major, minor) != (2, 7) and not (major == 3 and minor >= 5):\n sys.exit(1)\n\nimport hashlib\nhasher = hashlib.sha256()\nwith open(sys.executable, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nsys.stdout.write(hasher.hexdigest())\n"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /home/cristian/apps/miniconda3/bin/python.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.01 [DEBUG] Completed: Test binary /home/cristian/apps/miniconda3/bin/python3.
23:45:04.01 [DEBUG] Completed: (Waiting) Test binary /home/cristian/apps/miniconda3/bin/python3.
23:45:04.01 [DEBUG] Completed: Test binary /usr/bin/python3.
23:45:04.01 [DEBUG] Completed: (Waiting) Test binary /usr/bin/python3.
23:45:04.01 [DEBUG] Completed: Find binary path - found python3 at BinaryPath(path='/home/cristian/apps/miniconda3/bin/python3', fingerprint='ea30685c1584a34bc6d8a7233aece25b265f723be1d4dbd813f29625a1b8fe1e') and 2 other locations
23:45:04.06 [DEBUG] Completed: Test binary /home/cristian/apps/miniconda3/bin/python.
23:45:04.06 [DEBUG] Completed: (Waiting) Test binary /home/cristian/apps/miniconda3/bin/python.
23:45:04.06 [DEBUG] Completed: Find binary path - found python at BinaryPath(path='/home/cristian/apps/miniconda3/bin/python', fingerprint='ea30685c1584a34bc6d8a7233aece25b265f723be1d4dbd813f29625a1b8fe1e')
23:45:04.06 [DEBUG] Completed: Find Python interpreter to bootstrap PEX - Selected /home/cristian/apps/miniconda3/bin/python to bootstrap PEXes with.
23:45:04.07 [DEBUG] Completed: Downloading: DownloadFile(url='https://github.com/pantsbuild/pex/releases/download/v2.1.24/pex', expected_digest=FileDigest(fingerprint='561da5a7c76a8a88567a306fa60dfcb5c6924bb71c18b892080d5c2b3eea713... (37 characters truncated)
23:45:04.07 [DEBUG] Running Searching for `unzip` on PATH=/usr/bin:/bin:/usr/local/bin under semaphore with concurrency id: 1
23:45:04.07 [DEBUG] Running Searching for `tar` on PATH=/usr/bin:/bin:/usr/local/bin under semaphore with concurrency id: 2
23:45:04.07 [DEBUG] Obtaining exclusive spawn lock for process with argv ["./find_binary.sh", "tar"] since we materialized its executable RelativePath("find_binary.sh").
23:45:04.07 [DEBUG] Obtaining exclusive spawn lock for process with argv ["./find_binary.sh", "unzip"] since we materialized its executable RelativePath("find_binary.sh").
23:45:04.11 [DEBUG] spawned local process as 31296 for Process { argv: ["./find_binary.sh", "tar"], env: {"PATH": "/usr/bin:/bin:/usr/local/bin"}, working_directory: None, input_files: Digest(Fingerprint<dea2c9ff6e74e7dbe89142d0f10ec33c852934f2206f7b305fce33ee77049ab1>, 91), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Searching for `tar` on PATH=/usr/bin:/bin:/usr/local/bin", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.14 [DEBUG] Completed: Searching for `tar` on PATH=/usr/bin:/bin:/usr/local/bin
23:45:04.14 [DEBUG] Completed: (Waiting) Searching for `tar` on PATH=/usr/bin:/bin:/usr/local/bin
23:45:04.14 [DEBUG] Running Test binary /bin/tar. under semaphore with concurrency id: 3
23:45:04.14 [DEBUG] Running Test binary /usr/bin/tar. under semaphore with concurrency id: 4
23:45:04.15 [DEBUG] spawned local process as 31298 for Process { argv: ["./find_binary.sh", "unzip"], env: {"PATH": "/usr/bin:/bin:/usr/local/bin"}, working_directory: None, input_files: Digest(Fingerprint<dea2c9ff6e74e7dbe89142d0f10ec33c852934f2206f7b305fce33ee77049ab1>, 91), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Searching for `unzip` on PATH=/usr/bin:/bin:/usr/local/bin", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.19 [DEBUG] spawned local process as 31300 for Process { argv: ["/bin/tar", "--version"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /bin/tar.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.21 [DEBUG] Completed: Searching for `unzip` on PATH=/usr/bin:/bin:/usr/local/bin
23:45:04.21 [DEBUG] Completed: (Waiting) Searching for `unzip` on PATH=/usr/bin:/bin:/usr/local/bin
23:45:04.21 [DEBUG] Completed: Test binary /bin/tar.
23:45:04.21 [DEBUG] Completed: (Waiting) Test binary /bin/tar.
23:45:04.22 [DEBUG] Running Test binary /bin/unzip. under semaphore with concurrency id: 5
23:45:04.22 [DEBUG] Running Test binary /usr/bin/unzip. under semaphore with concurrency id: 6
23:45:04.22 [DEBUG] spawned local process as 31301 for Process { argv: ["/usr/bin/tar", "--version"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /usr/bin/tar.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.26 [DEBUG] spawned local process as 31302 for Process { argv: ["/bin/unzip", "-v"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /bin/unzip.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.28 [DEBUG] Completed: Test binary /usr/bin/tar.
23:45:04.28 [DEBUG] Completed: (Waiting) Test binary /usr/bin/tar.
23:45:04.28 [DEBUG] Completed: Test binary /bin/unzip.
23:45:04.28 [DEBUG] Completed: (Waiting) Test binary /bin/unzip.
23:45:04.28 [DEBUG] Completed: Find binary path - found tar at BinaryPath(path='/usr/bin/tar', fingerprint='e558b5686d5da9eb85291d8c8268953ee18e4912e3a20efccc255a51d474616d') and 1 other location
23:45:04.28 [DEBUG] Completed: Finding the `tar` binary
23:45:04.29 [DEBUG] spawned local process as 31303 for Process { argv: ["/usr/bin/unzip", "-v"], env: {}, working_directory: None, input_files: Digest(Fingerprint<e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, 0), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Test binary /usr/bin/unzip.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.29 [DEBUG] Completed: Test binary /usr/bin/unzip.
23:45:04.29 [DEBUG] Completed: (Waiting) Test binary /usr/bin/unzip.
23:45:04.29 [DEBUG] Completed: Find binary path - found unzip at BinaryPath(path='/usr/bin/unzip', fingerprint='7c25153257d72ca0afcbf01a54fb229fc25a2cb5233693cde213668cba52cb3d') and 1 other location
23:45:04.29 [DEBUG] Completed: Finding the `unzip` binary
23:45:04.29 [DEBUG] Completed: Extracting an archive file
23:45:04.29 [DEBUG] Completed: pants.core.util_rules.external_tool.download_external_tool
23:45:04.30 [DEBUG] Running Find interpreter for constraints: CPython>=3.8 under semaphore with concurrency id: 7
23:45:04.30 [DEBUG] Running Find interpreter for constraints: CPython==2.7.* OR CPython<3.9,>=3.4 under semaphore with concurrency id: 8
23:45:04.30 [DEBUG] Running Find interpreter for constraints: CPython>=3.6 under semaphore with concurrency id: 2
23:45:04.37 [DEBUG] spawned local process as 31304 for Process { argv: ["/home/cristian/apps/miniconda3/bin/python", "./pex", "--python-path", "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "--pex-root", ".cache/pex_root", "--tmpdir", ".tmp", "--interpreter-constraint", "CPython>=3.8", "--", "-c", "import hashlib, os, sys\n\npython = os.path.realpath(sys.executable)\nprint(python)\n\nhasher = hashlib.sha256()\nwith open(python, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nprint(hasher.hexdigest())\n"], env: {"CPPFLAGS": "", "LANG": "C.UTF-8", "LDFLAGS": "", "PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_IGNORE_RCFILES": "true", "PEX_INHERIT_PATH": "false", "PEX_PYTHON_PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_ROOT": "/home/cristian/.cache/pants/named_caches/pex_root"}, working_directory: None, input_files: Digest(Fingerprint<18dbbfc2500e40128d75a8b4e46a9c316236a8d22ed7ff5d89e13fc0110ba952>, 158), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Find interpreter for constraints: CPython>=3.8", level: Debug, append_only_caches: {CacheName("pex_root"): CacheDest(".cache/pex_root")}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.39 [DEBUG] spawned local process as 31305 for Process { argv: ["/home/cristian/apps/miniconda3/bin/python", "./pex", "--python-path", "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "--pex-root", ".cache/pex_root", "--tmpdir", ".tmp", "--interpreter-constraint", "CPython==2.7.*", "--interpreter-constraint", "CPython<3.9,>=3.4", "--", "-c", "import hashlib, os, sys\n\npython = os.path.realpath(sys.executable)\nprint(python)\n\nhasher = hashlib.sha256()\nwith open(python, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nprint(hasher.hexdigest())\n"], env: {"CPPFLAGS": "", "LANG": "C.UTF-8", "LDFLAGS": "", "PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_IGNORE_RCFILES": "true", "PEX_INHERIT_PATH": "false", "PEX_PYTHON_PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_ROOT": "/home/cristian/.cache/pants/named_caches/pex_root"}, working_directory: None, input_files: Digest(Fingerprint<18dbbfc2500e40128d75a8b4e46a9c316236a8d22ed7ff5d89e13fc0110ba952>, 158), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Find interpreter for constraints: CPython==2.7.* OR CPython<3.9,>=3.4", level: Debug, append_only_caches: {CacheName("pex_root"): CacheDest(".cache/pex_root")}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:04.40 [DEBUG] spawned local process as 31306 for Process { argv: ["/home/cristian/apps/miniconda3/bin/python", "./pex", "--python-path", "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "--pex-root", ".cache/pex_root", "--tmpdir", ".tmp", "--interpreter-constraint", "CPython>=3.6", "--", "-c", "import hashlib, os, sys\n\npython = os.path.realpath(sys.executable)\nprint(python)\n\nhasher = hashlib.sha256()\nwith open(python, \"rb\") as fp:\n for chunk in iter(lambda: fp.read(8192), b\"\"):\n hasher.update(chunk)\nprint(hasher.hexdigest())\n"], env: {"CPPFLAGS": "", "LANG": "C.UTF-8", "LDFLAGS": "", "PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_IGNORE_RCFILES": "true", "PEX_INHERIT_PATH": "false", "PEX_PYTHON_PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_ROOT": "/home/cristian/.cache/pants/named_caches/pex_root"}, working_directory: None, input_files: Digest(Fingerprint<18dbbfc2500e40128d75a8b4e46a9c316236a8d22ed7ff5d89e13fc0110ba952>, 158), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Find interpreter for constraints: CPython>=3.6", level: Debug, append_only_caches: {CacheName("pex_root"): CacheDest(".cache/pex_root")}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: PerRestart }
23:45:06.65 [DEBUG] Completed: Find interpreter for constraints: CPython>=3.8
23:45:06.65 [DEBUG] Completed: (Waiting) Find interpreter for constraints: CPython>=3.8
23:45:06.65 [DEBUG] Completed: Find Python interpreter for constraints - Selected /home/cristian/apps/miniconda3/bin/python3.8 to run PEXes with.
23:45:06.70 [DEBUG] Completed: Find interpreter for constraints: CPython==2.7.* OR CPython<3.9,>=3.4
23:45:06.70 [DEBUG] Completed: (Waiting) Find interpreter for constraints: CPython==2.7.* OR CPython<3.9,>=3.4
23:45:06.72 [DEBUG] Completed: Find Python interpreter for constraints - Selected /home/cristian/apps/miniconda3/bin/python3.8 to run PEXes with.
23:45:06.73 [DEBUG] Completed: pants.backend.python.util_rules.pex.create_pex
23:45:06.73 [DEBUG] Completed: pants.backend.python.util_rules.pex.create_pex
23:45:06.75 [DEBUG] Completed: pants.backend.python.util_rules.pex_from_targets.pex_from_targets
23:45:06.76 [DEBUG] Running Run Bandit on 12 files. under semaphore with concurrency id: 1
23:45:06.76 [DEBUG] Completed: pants.backend.python.lint.flake8.rules.flake8_lint_partition
23:45:06.76 [DEBUG] Completed: Lint with Flake8
23:45:06.76 [INFO] Completed: lint - Flake8 succeeded.
23:45:06.76 [DEBUG] Completed: Find interpreter for constraints: CPython>=3.6
23:45:06.76 [DEBUG] Completed: (Waiting) Find interpreter for constraints: CPython>=3.6
23:45:06.76 [DEBUG] Completed: pants.backend.python.util_rules.pex.create_pex
23:45:06.77 [DEBUG] Completed: pants.backend.python.util_rules.pex.create_pex
23:45:06.77 [DEBUG] Completed: Find Python interpreter for constraints - Selected /home/cristian/apps/miniconda3/bin/python3.8 to run PEXes with.
23:45:06.77 [DEBUG] Completed: pants.backend.python.lint.docformatter.rules.setup_docformatter
23:45:06.81 [DEBUG] Completed: pants.backend.python.util_rules.pex.create_pex
23:45:06.81 [DEBUG] Completed: Lint with docformatter
23:45:06.81 [INFO] Completed: lint - Docformatter succeeded.
23:45:06.81 [DEBUG] Completed: pants.backend.python.util_rules.python_sources.prepare_python_sources
23:45:06.81 [DEBUG] Completed: pants.backend.python.util_rules.python_sources.strip_python_sources
23:45:06.81 [DEBUG] Completed: pants.backend.python.util_rules.pex.create_pex
23:45:06.82 [DEBUG] Completed: pants.backend.python.lint.isort.rules.setup_isort
23:45:06.82 [DEBUG] spawned local process as 31322 for Process { argv: ["/home/cristian/apps/miniconda3/bin/python3.8", "./bandit.pex", "--config=build-support/.bandit.yml", "algo/bfs/__init__.py", "algo/bfs/bfs_.py", "app_iqor/server.py", "app_paper_plane/main.py", "lib_bzl_utils/full_deps.py", "lib_py_utils/py_utils/__init__.py", "lib_py_utils/py_utils/functools.py", "lib_py_utils/py_utils/logging.py", "lib_py_utils/py_utils/mypy_plugin.py", "lib_py_utils/test_utils/test_functools.py", "lib_py_utils/test_utils/test_logging.py"], env: {"LANG": "C.UTF-8", "PATH": "/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin", "PEX_IGNORE_RCFILES": "true", "PEX_INHERIT_PATH": "false", "PEX_ROOT": "/home/cristian/.cache/pants/named_caches/pex_root"}, working_directory: None, input_files: Digest(Fingerprint<b54b398170a0eb92d2ca00ca3f0102ea60efbff04869cb6f237c5fa79eef2def>, 599), output_files: {}, output_directories: {}, timeout: None, execution_slot_variable: None, description: "Run Bandit on 12 files.", level: Debug, append_only_caches: {}, jdk_home: None, platform_constraint: None, is_nailgunnable: false, cache_scope: Successful }
23:45:06.82 [DEBUG] Completed: Lint with isort
23:45:06.82 [INFO] Completed: lint - isort succeeded.
23:45:06.82 [DEBUG] Completed: pants.backend.python.util_rules.python_sources.prepare_python_sources
23:45:06.82 [DEBUG] Completed: pants.backend.python.lint.pylint.rules.pylint_lint_partition
23:45:06.82 [DEBUG] Completed: Lint using Pylint
23:45:06.82 [INFO] Completed: lint - Pylint succeeded.
------------------------------------
Your code has been rated at 10.00/10
23:45:07.70 [DEBUG] Completed: Run Bandit on 12 files.
23:45:07.70 [DEBUG] Completed: (Waiting) Run Bandit on 12 files.
23:45:07.70 [DEBUG] Completed: pants.backend.python.lint.bandit.rules.bandit_lint_partition
23:45:07.70 [DEBUG] Completed: Lint with Bandit
23:45:07.70 [WARN] Completed: lint - Bandit failed (exit code 1).
Traceback (most recent call last):
File "/tmp/process-executionQhOMro/bandit.pex/.bootstrap/pex/pex.py", line 487, in execute
File "/tmp/process-executionQhOMro/bandit.pex/.bootstrap/pex/pex.py", line 404, in _wrap_coverage
File "/tmp/process-executionQhOMro/bandit.pex/.bootstrap/pex/pex.py", line 435, in _wrap_profiling
File "/tmp/process-executionQhOMro/bandit.pex/.bootstrap/pex/pex.py", line 543, in _execute
File "/tmp/process-executionQhOMro/bandit.pex/.bootstrap/pex/pex.py", line 645, in execute_entry
File "/tmp/process-executionQhOMro/bandit.pex/.bootstrap/pex/pex.py", line 653, in execute_module
File "/home/cristian/apps/miniconda3/lib/python3.8/runpy.py", line 203, in run_module
mod_name, mod_spec, code = _get_module_details(mod_name)
File "/home/cristian/apps/miniconda3/lib/python3.8/runpy.py", line 144, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/home/cristian/apps/miniconda3/lib/python3.8/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/__init__.py", line 19, in <module>
from bandit.core import config # noqa
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/__init__.py", line 17, in <module>
from bandit.core import config # noqa
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/config.py", line 12, in <module>
from bandit.core import extension_loader
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/extension_loader.py", line 109, in <module>
MANAGER = Manager()
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/extension_loader.py", line 25, in __init__
self.load_formatters(formatters_namespace)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/extension_loader.py", line 30, in load_formatters
self.formatters_mgr = extension.ExtensionManager(
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/extension.py", line 133, in __init__
extensions = self._load_plugins(invoke_on_load,
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/extension.py", line 218, in _load_plugins
for ep in self.list_entry_points():
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/extension.py", line 207, in list_entry_points
eps = list(_cache.get_group_all(self.namespace))
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 179, in get_group_all
data = self._get_data_for_path(path)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 155, in _get_data_for_path
digest, path_values = _hash_settings_for_path(path)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 85, in _hash_settings_for_path
mtime = _get_mtime(entry)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 62, in _get_mtime
s = os.stat(name)
NotADirectoryError: [Errno 20] Not a directory: '/tmp/process-executionQhOMro/bandit.pex/.bootstrap'
๐ Bandit failed.
โ Docformatter succeeded.
โ Flake8 succeeded.
โ Pylint succeeded.
โ isort succeeded.
@cristianmatache this should be solved in Pants 2.3.x since it runs Bandit in a venv instead of from a PEX, but for now - this looks like you hit the same issue @Eric-Arellano fixed in #10319. In your output, the stevedore distribution is 3.3.0 and #10319 fixed by bounding the bandit stevedore requirement below 3. Do you have custom configuration for Bandit? IOW, what do you get for this?:
$ ./pants --backend-packages=pants.backend.python.lint.bandit help-all | jq '.scope_to_help_info.bandit.advanced[] | select(.config_key == "extra_requirements") | .value_history'
{
"ranked_values": [
{
"details": "",
"rank": "NONE",
"value": []
},
{
"details": "",
"rank": "HARDCODED",
"value": [
"setuptools<45",
"stevedore<3"
]
}
]
}
@jsirois I am getting the exact same output for that command. Thank you.
Hrm - that makes ~0 cents at 1st blush. I'll dig a bit more and report back...
@cristianmatache for Pants 2.2.0 I do not reproduce.
If I run the following in the Pants repo:
git checkout release_2.2.0
./pants --no-process-execution-cleanup-local-dirs --backend-packages=pants.backend.python.lint.bandit --bandit-extra-requirements='["setuptools","stevedore<3"]' lint src/python/pants/util/::
14:11:01.50 [INFO] Completed: lint - Flake8 succeeded.
14:11:01.50 [INFO] Completed: lint - Docformatter succeeded.
14:11:01.50 [INFO] Completed: lint - Black succeeded.
All done! โจ ๐ฐ โจ
32 files would be left unchanged.
14:11:01.50 [INFO] Completed: lint - isort succeeded.
14:11:01.50 [INFO] preserving local process execution dir `"/tmp/process-executionIwp0Ho"` for "Run Bandit on 32 files."
14:11:03.07 [WARN] Completed: lint - Bandit failed (exit code 1).
I find:
unzip -qc /tmp/process-executionIwp0Ho/bandit.pex PEX-INFO | jq '{distributions: .distributions, requirements: .requirements}'
{
"distributions": {
"GitPython-3.1.13-py3-none-any.whl": "a9ef173983a5d2569b84f1f4742f7b94b00c811e",
"PyYAML-5.3.1-cp37-cp37m-linux_x86_64.whl": "37b06ac086c32a5165ea7ec707061f8c361b3489",
"bandit-1.6.2-py2.py3-none-any.whl": "eddf4b50ce371781c8fb36cf84c7b44448075188",
"gitdb-4.0.5-py3-none-any.whl": "171bd04b05a32829d99679aa81129f64c13bc13a",
"pbr-5.5.1-py2.py3-none-any.whl": "daf8102ba20af3a6ebfcce6b6ab957634d1b4ab5",
"setuptools-50.3.2-py3-none-any.whl": "dd20a89d33050762d63c6fc9b1995c3ff528bd5a",
"six-1.15.0-py2.py3-none-any.whl": "f34b5f81d86fd8f293c539903ee206e0a72e5a8d",
"smmap-3.0.5-py2.py3-none-any.whl": "cb85643842c2ecbddf877fc58a27a3e82ea1cfc2",
"stevedore-2.0.1-py3-none-any.whl": "ae40fd534a64a7cff2ed2c402001b868f37e527c"
},
"requirements": [
"GitPython==3.1.13; python_version >= \"3.4\"",
"PyYAML==5.3.1; python_full_version != \"3.0.*\" and python_full_version != \"3.1.*\" and python_full_version != \"3.2.*\" and python_full_version != \"3.3.*\" and python_full_version != \"3.4.*\" and python_version >= \"2.7\"",
"bandit==1.6.2",
"gitdb==4.0.5; python_version >= \"3.4\"",
"pbr==5.5.1; python_version >= \"2.6\"",
"setuptools==50.3.2; python_version >= \"3.5\"",
"six==1.15.0; python_full_version != \"3.0.*\" and python_full_version != \"3.1.*\" and python_full_version != \"3.2.*\" and python_version >= \"2.7\"",
"smmap==3.0.5; python_full_version != \"3.0.*\" and python_full_version != \"3.1.*\" and python_full_version != \"3.2.*\" and python_full_version != \"3.3.*\" and python_version >= \"2.7\"",
"stevedore==2.0.1; python_version >= \"3.6\""
]
}
IOW stevedore stays bounded below version 3 as expected.
Do you mind trying the following and reporting back?:
./pants --no-process-execution-cleanup-local-dirs --backend-packages=pants.backend.python.lint.bandit --bandit-extra-requirements='["setuptools","stevedore<3"]' lint <any target of yours>
unzip -qc <your process execution dir for the bandit run>/bandit.pex PEX-INFO | jq '{distributions: .distributions, requirements: .requirements}'
``(base) cristian@Cristian-XPS13:~/workspace$ ./pants --version
22:21:33.98 [INFO] initialization options changed: reinitializing pantsd...
22:21:35.58 [INFO] pantsd initialized.
2.2.0
(base) cristian@Cristian-XPS13:~/workspace$ ./pants --no-process-execution-cleanup-local-dirs --backend-packages=pants.backend.python.lint.bandit --bandit-extra-requirements='["setuptools","stevedore<3"]' lint <any target of yours>
-bash: syntax error near unexpected tokennewline'
(base) cristian@Cristian-XPS13:~/workspace$ ./pants --no-process-execution-cleanup-local-dirs --backend-packages=pants.backend.python.lint.bandit --bandit-extra-requirements='["setuptools","stevedore<3"]' lint ::
22:22:03.99 [INFO] initialization options changed: reinitializing pantsd...
22:22:04.92 [INFO] pantsd initialized.
22:22:05.31 [WARN] /home/cristian/.cache/pants/setup/bootstrap-Linux-x86_64/2.2.0_py38/lib/python3.8/site-packages/pants/util/meta.py:188: DeprecationWarning: DEPRECATED: the 'mypy_source_plugin' target type will be removed in version 2.3.0.dev0.
Using the mypy_source_plugin target type for lib_py_utils/py_utils:mypy_plugin. Use a python_library target rather than mypy_source_plugin, which behaves identically. If you change the target's name, update [mypy].source_plugins.
prev_init(self, args, *kwargs)
22:22:05.31 [WARN] /home/cristian/.cache/pants/setup/bootstrap-Linux-x86_64/2.2.0_py38/lib/python3.8/site-packages/pants/engine/target.py:122: DeprecationWarning: DEPRECATED: the 'sources' field will be removed in version 2.3.0.dev0.
Using the sources field in the target app_paper_plane:main. Remove the sources field and set the entry_point field to the file name, e.g. entry_point='app.py' or entry_point='app.py:func'. Create a python_library target with the entry point's file included (if it does not yet exist). Pants will infer a dependency, which you can check with ./pants dependencies path/to:app. See https://www.pantsbuild.org/v2.2/docs/python-package-goal for more instructions.
self._check_deprecated(raw_value, address)
22:22:06.09 [INFO] preserving local process execution dir "/tmp/process-executionUiPXwa" for "Searching for bash on PATH=/usr/bin:/bin:/usr/local/bin"
22:22:06.67 [INFO] preserving local process execution dir "/tmp/process-executionOf9HWj" for "Searching for python3 on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin"
22:22:06.67 [INFO] preserving local process execution dir "/tmp/process-executionw3lKO2" for "Searching for python on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin"
22:22:06.67 [INFO] preserving local process execution dir "/tmp/process-executiona5Dc26" for "Searching for python2 on PATH=/home/cristian/.cargo/bin:/home/cristian/apps/miniconda3/bin:/home/cristian/apps/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_2004.2020.812.0_x64__79rhkp1fndgsc:/mnt/c/Python27:/mnt/c/Python27/Scripts:/mnt/d/Anaconda3:/mnt/d/Anaconda3/Library/mingw-w64/bin:/mnt/d/Anaconda3/Library/usr/bin:/mnt/d/Anaconda3/Library/bin:/mnt/d/Anaconda3/Scripts:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0:/mnt/c/WINDOWS/System32/OpenSSH:/mnt/c/Program Files (x86)/Bitvise SSH Client:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Java/jdk1.8.0_211/bin:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/Cristian Matache/.cargo/bin:/mnt/c/Users/Cristian Matache/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/Cristian Matache/AppData/Roaming/cabal/bin:/mnt/c/ProgramData/chocolatey/lib/ghc/tools/ghc-8.10.1/bin:/mnt/c/tools/msys64:/mnt/c/Program Files (x86)/GitHub CLI:/snap/bin"
22:22:07.69 [INFO] preserving local process execution dir "/tmp/process-executionEo3TfU" for "Test binary /home/cristian/apps/miniconda3/bin/python3."
22:22:07.70 [INFO] preserving local process execution dir "/tmp/process-executionRIe1xm" for "Test binary /usr/bin/python3."
22:22:07.70 [INFO] preserving local process execution dir "/tmp/process-executions7VnV6" for "Test binary /bin/python3."
22:22:08.20 [INFO] preserving local process execution dir "/tmp/process-executionT4jrsk" for "Test binary /home/cristian/apps/miniconda3/bin/python."
22:22:10.25 [INFO] preserving local process execution dir "/tmp/process-executionnvSO8v" for "Searching for tar on PATH=/usr/bin:/bin:/usr/local/bin"
22:22:10.25 [INFO] preserving local process execution dir "/tmp/process-executionUmYOCT" for "Searching for unzip on PATH=/usr/bin:/bin:/usr/local/bin"
22:22:11.20 [INFO] preserving local process execution dir "/tmp/process-execution9LPN5g" for "Test binary /bin/tar."
22:22:11.20 [INFO] preserving local process execution dir "/tmp/process-executionnp1WYC" for "Test binary /usr/bin/tar."
22:22:12.14 [INFO] preserving local process execution dir "/tmp/process-executionLHfNCk" for "Test binary /bin/unzip."
22:22:12.14 [INFO] preserving local process execution dir "/tmp/process-executionMLLfYu" for "Test binary /usr/bin/unzip."
22:22:12.94 [INFO] preserving local process execution dir "/tmp/process-executionCDuCgv" for "Find interpreter for constraints: CPython>=3.8"
22:22:12.94 [INFO] preserving local process execution dir "/tmp/process-execution4Xhqf9" for "Find interpreter for constraints: CPython==2.7.* OR CPython<3.9,>=3.4"
22:22:12.94 [INFO] preserving local process execution dir "/tmp/process-executionbTNerp" for "Find interpreter for constraints: CPython>=3.6"
22:22:22.54 [INFO] preserving local process execution dir "/tmp/process-executionwR1oRd" for "Building bandit.pex with 3 requirements: bandit>=1.7.0, setuptools, stevedore<3"
22:22:23.14 [INFO] Completed: lint - Flake8 succeeded.
22:22:23.16 [INFO] Completed: lint - isort succeeded.
22:22:23.16 [INFO] Completed: lint - Docformatter succeeded.
22:22:23.17 [INFO] Completed: lint - Pylint succeeded.
Your code has been rated at 10.00/10
22:23:10.89 [INFO] Completed: Building bandit.pex with 3 requirements: bandit>=1.7.0, setuptools, stevedore<3
22:23:10.89 [INFO] preserving local process execution dir "/tmp/process-executionWmTwvd" for "Run Bandit on 12 files."
22:23:13.60 [WARN] Completed: lint - Bandit failed (exit code 1).
Traceback (most recent call last):
File "/tmp/process-executionWmTwvd/bandit.pex/.bootstrap/pex/pex.py", line 487, in execute
File "/tmp/process-executionWmTwvd/bandit.pex/.bootstrap/pex/pex.py", line 404, in _wrap_coverage
File "/tmp/process-executionWmTwvd/bandit.pex/.bootstrap/pex/pex.py", line 435, in _wrap_profiling
File "/tmp/process-executionWmTwvd/bandit.pex/.bootstrap/pex/pex.py", line 543, in _execute
File "/tmp/process-executionWmTwvd/bandit.pex/.bootstrap/pex/pex.py", line 645, in execute_entry
File "/tmp/process-executionWmTwvd/bandit.pex/.bootstrap/pex/pex.py", line 653, in execute_module
File "/home/cristian/apps/miniconda3/lib/python3.8/runpy.py", line 203, in run_module
mod_name, mod_spec, code = _get_module_details(mod_name)
File "/home/cristian/apps/miniconda3/lib/python3.8/runpy.py", line 144, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/home/cristian/apps/miniconda3/lib/python3.8/runpy.py", line 111, in _get_module_details
__import__(pkg_name)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/__init__.py", line 19, in
from bandit.core import config # noqa
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/__init__.py", line 17, in
from bandit.core import config # noqa
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/config.py", line 12, in
from bandit.core import extension_loader
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/extension_loader.py", line 109, in
MANAGER = Manager()
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/extension_loader.py", line 25, in __init__
self.load_formatters(formatters_namespace)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/7878992c8f2a34f6430db71f96adab4ce4e1a984/bandit-1.7.0-py3-none-any.whl/bandit/core/extension_loader.py", line 30, in load_formatters
self.formatters_mgr = extension.ExtensionManager(
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/extension.py", line 133, in __init__
extensions = self._load_plugins(invoke_on_load,
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/extension.py", line 218, in _load_plugins
for ep in self.list_entry_points():
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/extension.py", line 207, in list_entry_points
eps = list(_cache.get_group_all(self.namespace))
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 179, in get_group_all
data = self._get_data_for_path(path)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 155, in _get_data_for_path
digest, path_values = _hash_settings_for_path(path)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 85, in _hash_settings_for_path
mtime = _get_mtime(entry)
File "/home/cristian/.cache/pants/named_caches/pex_root/installed_wheels/6a0ba77c527c72314e9e626565a4f1a96c0a90d7/stevedore-3.3.0-py3-none-any.whl/stevedore/_cache.py", line 62, in _get_mtime
s = os.stat(name)
NotADirectoryError: [Errno 20] Not a directory: '/tmp/process-executionWmTwvd/bandit.pex/.bootstrap'
๐ Bandit failed.
โ Docformatter succeeded.
โ Flake8 succeeded.
โ Pylint succeeded.
โ isort succeeded.
(base) cristian@Cristian-XPS13:~/workspace$ unzip -qc /tmp/process-executionWmTwvd/bandit.pex PEX-INFO | jq '{distributions: .distributions, requirements: .requirements}'
{
"distributions": {
"GitPython-3.1.13-py3-none-any.whl": "4e6d4ddfb2da4895eec4cb549a492d2ea60f4bfe",
"PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl": "6e2f145242563e4d496510355b29e9251a4e8bfc",
"bandit-1.7.0-py3-none-any.whl": "1fa2f0d3c65d47590e906a63b326dd8206cfabf2",
"gitdb-4.0.5-py3-none-any.whl": "01bb0b13fa537ab02e69bd4e18bc085fe66ffe2d",
"pbr-5.5.1-py2.py3-none-any.whl": "7f92038dd1ff58c7c2a921341d52b58033eff215",
"setuptools-53.0.0-py3-none-any.whl": "836c4b6e144d15fc247fe14da5df8bfb62ad6828",
"six-1.15.0-py2.py3-none-any.whl": "e968b74cc15879b98ca50b8ab0a2ca614f253d44",
"smmap-3.0.5-py2.py3-none-any.whl": "daf02bafbd1de16b5c5a16f4aa70f4302bd99e8a",
"stevedore-3.3.0-py3-none-any.whl": "5137edda5e7475de498700df5c18c33d51a81220"
},
"requirements": [
"GitPython==3.1.13; python_version >= \"3.4\"",
"PyYAML==5.4.1; python_full_version != \"3.0.\" and python_full_version != \"3.1.\" and python_full_version != \"3.2.\" and python_full_version != \"3.3.\" and python_full_version != \"3.4.\" and python_full_version != \"3.5.\" and python_version >= \"2.7\"",
"bandit==1.7.0; python_version >= \"3.5\"",
"gitdb==4.0.5; python_version >= \"3.4\"",
"pbr==5.5.1; python_version >= \"2.6\"",
"setuptools==53.0.0; python_version >= \"3.6\"",
"six==1.15.0; python_full_version != \"3.0.\" and python_full_version != \"3.1.\" and python_full_version != \"3.2.\" and python_version >= \"2.7\"",
"smmap==3.0.5; python_full_version != \"3.0.\" and python_full_version != \"3.1.\" and python_full_version != \"3.2.\" and python_full_version != \"3.3.*\" and python_version >= \"2.7\"",
"stevedore==3.3.0; python_version >= \"3.6\""
]
}
```
The key bit will be the 1st line, this in my example:
./pants --no-process-execution-cleanup-local-dirs --backend-packages=pants.backend.python.lint.bandit --bandit-extra-requirements='["setuptools","stevedore<3"]' lint src/python/pants/util/::
...
I want to 1st make sure manually specifying the bandit extra requirements does the right thing and then work from there depending on the result.
Can you include the command you ran like I did?
I did, look for lines that start with (base) cristian@Cristian-XPS13 I did
./pants --version./pants --no-process-execution-cleanup-local-dirs --backend-packages=pants.backend.python.lint.bandit --bandit-extra-requirements='["setuptools","stevedore<3"]' lint ::In my pants.toml i have:
[bandit]
config = "build-support/.bandit.yml"
version = "bandit>=1.7.0"
Aha - OK. The 1st two lines without a leading ./pants ... line led my eyes to gloss down too far.
22:21:33.98 [INFO] initialization options changed: reinitializing pantsd...
22:21:35.58 [INFO] pantsd initialized.
I'm mightily confused but this helps narrow my search. Thanks!
Sorry for that, i think i copy pasted wrongly
@cristianmatache two more bits of information will be helpful:
[python-setup] section in your pants config.[python-setup]
interpreter_constraints = [">=3.8"]
requirement_constraints = "3rdparty/constraints.txt"
appdirs==1.4.4
astroid==2.5
attrs==20.3.0
autoflake==1.4
bandit==1.7.0
certifi==2020.12.5
chardet==4.0.0
click==7.1.2
colorama==0.4.4
dill==0.3.3
docformatter==1.4
dpath==2.0.1
flake8==3.8.4
Flask==1.1.2
Flask-Assets==2.0
gitdb==4.0.5
GitPython==3.1.13
idna==2.10
iniconfig==1.1.1
isort==5.7.0
itsdangerous==1.1.0
Jinja2==2.11.3
lazy-object-proxy==1.5.2
MarkupSafe==1.1.1
mccabe==0.6.1
multiprocess==0.70.11.1
mypy==0.812
mypy-extensions==0.4.3
numpy==1.20.1
packaging==20.9
pandas==1.2.2
pathos==0.2.7
pathspec==0.8.1
pbr==5.5.1
pluggy==0.13.1
pox==0.2.9
ppft==1.6.6.3
py==1.10.0
pycodestyle==2.6.0
pyflakes==2.2.0
pylint==2.7.0
pyparsing==2.4.7
pytest==6.2.2
python-dateutil==2.8.1
pytz==2021.1
PyYAML==5.4.1
qPython==2.0.0
regex==2020.11.13
requests==2.25.1
returns==0.15.0
six==1.15.0
smmap==3.0.5
stevedore==3.3.0
toml==0.10.2
typed-ast==1.4.2
typing-extensions==3.7.4.3
untokenize==0.1.1
urllib3==1.26.3
webassets==2.0
Werkzeug==1.0.1
wrapt==1.12.1
Well there you go stevedore==3.3.0 - I'll poke at our handling, but that's the root issue. Your code's requirements are getting used for the tools requirements. Does your code actually use stevedore directly or indirectly?
The reason this "works" and stevedore 3.3.0 gets picked is you're using the default pip-legacy-resolver. If you were to add:
[python-setup]
resolver_version = "pip-2020-resolver"
Then the building of the bandit.pex would fail. Modern Pip actually handles a mix of constraints and requirements correctly.
no, i think that was just a pip freeze > constraints.txt
thank you @jsirois
But a pip freeze does imply stevedore is an indirect requirement of yours at least. Pants needs to be able to handle this... not sure I'll have a good answer for you though since this really requires shading.
My constraints.txt is the result of freezing an environment installed like -r requirements.txt -r dev-requirements.txt. I am running a makefile and pants in parallel so this comes in handy when installing everything that i need with the makefile (for windows). pip show stevedore says that only bandit needs stevedore in my environment.
@cristianmatache to work around, can you have Pants use a constraints file that is different from the troublesome one? In other words, can you omit dev-requirements.txt and just use requirements.txt when generating the constraints file for Pants consumption? I ask this assuming that dev-requirements.txt represents requirements to run tools like bandit on your own outside Pants.
Yes, that's the solution :) thank you