繁体   English   中英

安装 mypy 导致“shadows library module”-error

[英]Installing mypy leads to "shadows library module"-error

我将 mypy 及其依赖项下载并安装到一个名为 lib 的文件夹中(除了 mypy 之外,其他库也位于该文件夹中):

pip install --upgrade --target=. mypy
Collecting mypy
  Using cached mypy-0.790-cp37-cp37m-win_amd64.whl (8.5 MB)
Collecting mypy-extensions<0.5.0,>=0.4.3
  Using cached mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
Collecting typed-ast<1.5.0,>=1.4.0
  Using cached typed_ast-1.4.1-cp37-cp37m-win_amd64.whl (155 kB)
Collecting typing-extensions>=3.7.4
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Installing collected packages: mypy-extensions, typed-ast, typing-extensions, mypy
Successfully installed mypy-0.790 mypy-extensions-0.4.3 typed-ast-1.4.1 typing-extensions-3.7.4.3

我想用 mypy 分析一个从不同目录(即我安装 mypy 的 lib 模块)导入模块的文件。 因此,为了遵循导入,我将 MYPYPATH 变量设置为保存 lib 目录的路径:

set MYPYPATH=path_to_lib

现在,如果我执行 mypy,我会收到一条错误消息,即“typing_extensions.py”隐藏了库模块“typing_extensions”:

mypy --namespace-packages script_to_check.py
mypy: "path_to_lib\typing_extensions.py" shadows library module "typing_extensions"
note: A user-defined top-level module with name "typing_extensions" is not supported

typing_extensions 实际上是由 mypy 安装的,现在它告诉我它不能使用 package?

如果我将 pyth_to_lib 中的 typing_extensions.py 重命名为 _typing_extensions.py,我会得到一个错误,mypy 无法导入 typing_extensions:

mypy --namespace-packages ng_gen_igxl_tp.py
Traceback (most recent call last):
  File "c:\software\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\software\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "path_to_lib\bin\mypy.exe\__main__.py", line 4, in <module>
  File "path_to_lib\mypy\__main__.py", line 4, in <module>
    from mypy.main import main
  File "mypy\main.py", line 11, in <module>
ModuleNotFoundError: No module named 'typing_extensions'

如何让 mypy 运行?

经过进一步调查,我在评论中已经提到的内容被证明是正确的: It is not possible to include the directory where mypy is installed in MYPYPATH
我最终创建了一个虚拟环境并在其中安装了 mypy - 我们应该首先完成 - 现在一切都按预期运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM