首页 > 解决方案 > 使用 python 3 时出现 python 裤子 ModuleNotFoundError

问题描述

我是 python 新手,并尝试使用裤子作为构建系统来设置单声道存储库。一切进展顺利,直到我通过设置pants.ini 告诉pants 使用python 3 解释器

[python-setup]
interpreter_constraints: ["CPython>=3.6.5"]

我设置了一个本地库python_library,该库被导入到python_binary.

换句话说,对于相同的代码库,

我得到的堆栈跟踪看起来像

Traceback (most recent call last):
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/run/py/CPython-3.6.8/8c5d2b01b2fb9952ae4d6116e537a04edd7039e8/.bootstrap/pex/pex.py", line 397, in execute
    exit_code = self._wrap_coverage(self._wrap_profiling, self._execute)
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/run/py/CPython-3.6.8/8c5d2b01b2fb9952ae4d6116e537a04edd7039e8/.bootstrap/pex/pex.py", line 329, in _wrap_coverage
    return runner(*args)
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/run/py/CPython-3.6.8/8c5d2b01b2fb9952ae4d6116e537a04edd7039e8/.bootstrap/pex/pex.py", line 360, in _wrap_profiling
    return runner(*args)
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/run/py/CPython-3.6.8/8c5d2b01b2fb9952ae4d6116e537a04edd7039e8/.bootstrap/pex/pex.py", line 442, in _execute
    return self.execute_entry(self._pex_info.entry_point)
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/run/py/CPython-3.6.8/8c5d2b01b2fb9952ae4d6116e537a04edd7039e8/.bootstrap/pex/pex.py", line 540, in execute_entry
    return runner(entry_point)
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/run/py/CPython-3.6.8/8c5d2b01b2fb9952ae4d6116e537a04edd7039e8/.bootstrap/pex/pex.py", line 547, in execute_module
    runpy.run_module(module_name, run_name='__main__')
  File "/usr/lib/python3.6/runpy.py", line 208, in run_module
    return _run_code(code, {}, init_globals, run_name, mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/daniel/PycharmProjects/analytics-platform/.pants.d/pyprep/sources/b9e34cbd28ac4d65dc0c5e39ad35ba34da17a128/src/main.py", line 1, in <module>
    from str_utils import normalize
ModuleNotFoundError: No module named 'str_utils'

使用时有什么需要添加到pants.ini文件中的CPython>=3.6.5吗?

请注意 - 手动执行时使用的代码适用于 python2 和 python3

标签: pythonpython-3.xpants

解决方案


推荐阅读