即使所有内容均已正确安装,仍无法引用 Google Drive 中的 .py 文件

OMe*_*hls 1 python google-colaboratory

我正在尝试通过 Google Colab 从 Google Drive 访问 .py 文件中的函数。据我所知,我已经正确完成了所有安装和路径设置,但它仍然无法识别该文件。我附上了整个笔记本的屏幕截图。目前它还很小。

笔记本图片

错误图像

我不确定为什么第一个代码块被标记为“[7]”,因为它是第一个。

提前致谢!

sta*_*ing 5

我现在尝试通过创建一个包并测试加载它来重现该问题。然后删除__init__.py并得到与您相同的错误消息。

\n
% touch __init__.py\n% cd ..\n% python\n>>> from tests import t6\n>>> dir(t6)\n[... \'add_one\']\n>>> ^D\n% rm tests/__init__.py \n% python              \n>>> from tests import t6\nTraceback (most recent call last):\n  File "<stdin>", line 1, in <module>\nImportError: cannot import name \'t6\' from \'tests\' (......python3.8/site-packages/tests/__init__.py)\n
Run Code Online (Sandbox Code Playgroud)\n
root\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tests/\n     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 t6.py\n
Run Code Online (Sandbox Code Playgroud)\n

在 t6.py 中我有这个功能

\n
\ndef add_one(number):\n    return number + 1\n
Run Code Online (Sandbox Code Playgroud)\n

您可以在此处阅读有关软件包的更多信息:\n https://packaging.python.org/en/latest/tutorials/packaging-projects/

\n

也可能是您的包名称有冲突,因为测试不是那么唯一的名称。按照上面链接的建议,将您自己的项目文件保存在公司名称或您自己的名称下可能会更好。

\n

编辑:

\n

测试运行这些命令:

\n
>>> import tests\n>>> tests.__path__\n
Run Code Online (Sandbox Code Playgroud)\n

我怀疑你的路径中有另一个名为测试的包。

\n

要解决这个问题,我想最简单的方法是将文件夹重命名为更独特的名称。

\n

编辑 2:\n运行这些命令以查看您的路径指向的内容。首先在路径中添加您的谷歌驱动器。

\n
import sys\nprint(sys.path)\n
Run Code Online (Sandbox Code Playgroud)\n