Странное поведение при импорте из Volume на Mac - PullRequest
0 голосов
/ 29 мая 2018

Google File Stream - это инструмент для синхронизации файлов Google Drive с моим Mac.Он отображается как внешний том в Finder.Если у меня есть простой скрипт на Python, я могу выполнить его в обычном режиме.Однако, когда я пытаюсь импортировать другой модуль, который существует в том же каталоге на томе, я получаю ошибку импорта.Например:

main.py:

import foo
print('hi')

foo.py:

def bar():
    return 1

Запуск:

> cd /Volumes/GoogleDrive/My\ Drive/Project
> ls
> main.py    foo.py
> python3 main.py

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import foo
ModuleNotFoundError: No module named 'foo'

Даже страннее:

main.py

import os            # importing standard modules always worked
print(os.listdir())  # import error returns if this line is removed!!!

import foo           # no error?!
print(foo.bar())     # prints 1

Ошибка импорта в этом коде исчезает.Однако, если вы удалите print(os.listdir()), ошибка импорта вернется.Кроме того, os.listdir() возвращает пустой список, который является неожиданным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...