-1

我在导入自己的包时遇到了麻烦。我在虚拟环境中。我得到如下所示的错误。

File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'my_package.test'

但是,如果我运行 python 并导入包,则没有问题。

poetry run python
/home/user1/.poetry/lib/poetry/_vendor/py2.7/subprocess32.py:149: RuntimeWarning: The _posixsubprocess module is not being used. Child process reliability may suffer if your program uses threads.
  "program uses threads.", RuntimeWarning)
Python 3.7.5 (default, Nov  7 2019, 10:50:52) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import my_package.test

我不知道这里发生了什么。希望有人可以帮助我。提前致谢。

4

2 回答 2

0

确保您的模块位于您的文件可访问的区域(即同一文件夹)。还要确保没有重复的文件

于 2020-07-23T20:48:07.970 回答
0

通常这意味着您认为您使用的是同一个解释器,而实际上您并没有。在脚本的顶部,复制 shebang 行中的内容并按原样运行。

换句话说,如果它读取

#!/usr/bin/env python

然后运行它而不是你用来调用解释器的东西

/usr/bin/env python

我敢打赌,您将无法在该解释器中导入。

于 2020-07-23T20:45:07.203 回答