No such file or directory error when installing types with mypy
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 20.6k
- Forks
- 3.3k
- PR merge metrics
- PR metrics pending
Description
Bug Report
When running the command poetry run mypy --config-file pyproject.toml in GitLab CI, MyPy starts installing types as expected, but then throws an error:
mypy: can't read file '/root/.cache/pypoetry/virtualenvs/our-package-d4xTn211-py3.10/lib/python3.10/site-packages//google': No such file or directory
Expected Behavior
I would expect MyPy to install the required types and run the static analysis check.
Actual Behavior
Installing collected packages: types-PyYAML, types-pytz, types-PyMySQL, urllib3, types-protobuf, pycparser, types-requests, cffi, cryptography, types-pyOpenSSL, types-redis
Attempting uninstall: urllib3
Found existing installation: urllib3 1.26.18
Uninstalling urllib3-1.26.18:
Successfully uninstalled urllib3-1.26.18
Successfully installed cffi-1.16.0 cryptography-41.0.7 pycparser-2.21 types-PyMySQL-1.1.0.1 types-PyYAML-6.0.12.12 types-protobuf-4.24.0.20240106 types-pyOpenSSL-23.3.0.20240106 types-pytz-2023.3.1.1 types-redis-4.6.0.20240106 types-requests-2.31.0.20240106 urllib3-2.1.0
[notice] A new release of pip is available: 23.3.1 -> 23.3.2
[notice] To update, run: pip install --upgrade pip
mypy: can't read file '/root/.cache/pypoetry/virtualenvs/our-package-d4xTn211-py3.10/lib/python3.10/site-packages//google': No such file or directory
Installing missing stub packages:
/root/.cache/pypoetry/virtualenvs/our-package-d4xTn211-py3.10/bin/python -m pip install types-PyMySQL types-PyYAML types-protobuf types-pytz types-redis types-requests
Your Environment
This error occurs when running the mypy command in GitLab CI.
- Mypy version used: 1.8.0 (also tried with 1.7.0)
- Mypy command-line flags: --config-file pyproject.toml
- Mypy configuration options from
mypy.ini(and other config files):[tool.mypy] disallow_untyped_defs = true allow_any_unimported = true no_implicit_optional = true check_untyped_defs = true warn_return_any = true warn_unused_ignores = true show_error_codes = true warn_unused_configs = true disallow_incomplete_defs = true ignore_missing_imports = true files = ["our_package", "examples"] exclude = [".venv", ".cache", "build"] install_types = false non_interactive = true pretty = true - Python version used: 3.10
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing poetry run mypy --config-file pyproject.toml with the supplied Python 3.10 environment and [tool.mypy] settings, especially the files, exclude, install_types, and non_interactive options. Trace the type-installation path that produces the /site-packages//google argument; done means the required stub packages install without that invalid path and static analysis completes in GitLab CI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- gitlab, python
- Domain
- ci-cd, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100