如果它的文件夹在另一个应用程序中打开,则无法在 python 中导入我自己的模块
Cannot import my own module in python if its folder is opened in another application
我遇到了一个非常意外的错误,我想知道以前是否有人遇到过这种错误。
我使用的设置如下:macOS 10.14.6 和 Python 3.7
我也在使用 ipython 和 spyder,但它与我的问题无关,因为它也发生在正常 python shell 中。
我有一个名为 FLAP 的模块和几个子模块,它们都依赖于主 FLAP 模块。它们位于名为 git-repos 的同一目录中。我将 git-repos 添加到 spyder 中的 PYTHONPATH(或添加到 python shell 中的 sys.path)。
如果我只有 spyder 的 ipython shell 或者只是 python shell 打开,我可以导入我自己的模块。
一旦我打开 git-repos 文件夹,例如指挥官一号,python 无法导入模块。我还尝试使用 Sourcetree git 客户端,它引发了同样的事情。如果我在指挥官一号应用程序中退出该文件夹,则可以在重新启动 python shell.
后再次导入它
此外,我觉得奇怪的是,它不会发生在 macOS 的 Finder 上,也不会发生在已安装的软件包(如 matplotlib 或 numpy)上。
我认为值得一提的是,整个目录都在 Google Drive Filestream 安装到 /Volumes 中。
你们以前遇到过这种问题吗?
原来你不能在 macOS 中执行以下操作:
- 将您的模块目录放在 Google 虚拟云端硬盘中
- 在 PYTHONPATH 中有那个目录并且
- 打开相同的目录,例如一号指挥官和
- 能够在python
导入模块
您可以执行 3. OR 4. 但不能执行 3. AND 4。如果条件一不成立,那么无论如何您都可以导入模块。
这是 macOS Google Drive 软件中的错误。该文件夹在另一个应用程序(不是 Finder)中打开时似乎被锁定,因此 python shell 找不到它。
最后,我将文件夹从 Google 驱动器移到了我的驱动器上,无论如何我都可以导入它。我启动了一个 crontab 记录,因此它会定期将我的代码备份到驱动器。
我花了三天时间试图找到错误的根源。我认为这可以帮助其他面临这个非常具体问题的人。
我遇到了一个非常意外的错误,我想知道以前是否有人遇到过这种错误。
我使用的设置如下:macOS 10.14.6 和 Python 3.7 我也在使用 ipython 和 spyder,但它与我的问题无关,因为它也发生在正常 python shell 中。
我有一个名为 FLAP 的模块和几个子模块,它们都依赖于主 FLAP 模块。它们位于名为 git-repos 的同一目录中。我将 git-repos 添加到 spyder 中的 PYTHONPATH(或添加到 python shell 中的 sys.path)。 如果我只有 spyder 的 ipython shell 或者只是 python shell 打开,我可以导入我自己的模块。
一旦我打开 git-repos 文件夹,例如指挥官一号,python 无法导入模块。我还尝试使用 Sourcetree git 客户端,它引发了同样的事情。如果我在指挥官一号应用程序中退出该文件夹,则可以在重新启动 python shell.
后再次导入它此外,我觉得奇怪的是,它不会发生在 macOS 的 Finder 上,也不会发生在已安装的软件包(如 matplotlib 或 numpy)上。
我认为值得一提的是,整个目录都在 Google Drive Filestream 安装到 /Volumes 中。
你们以前遇到过这种问题吗?
原来你不能在 macOS 中执行以下操作:
- 将您的模块目录放在 Google 虚拟云端硬盘中
- 在 PYTHONPATH 中有那个目录并且
- 打开相同的目录,例如一号指挥官和
- 能够在python 导入模块
您可以执行 3. OR 4. 但不能执行 3. AND 4。如果条件一不成立,那么无论如何您都可以导入模块。
这是 macOS Google Drive 软件中的错误。该文件夹在另一个应用程序(不是 Finder)中打开时似乎被锁定,因此 python shell 找不到它。
最后,我将文件夹从 Google 驱动器移到了我的驱动器上,无论如何我都可以导入它。我启动了一个 crontab 记录,因此它会定期将我的代码备份到驱动器。
我花了三天时间试图找到错误的根源。我认为这可以帮助其他面临这个非常具体问题的人。