Последние два дня я пытался выяснить, почему я не могу импортировать класс BaseProxy
из многопроцессорного пакета python, входящего в стандартную библиотеку Python.
Cannot find reference 'BaseProxy' in managers.pypi
( Редактировать : это оператор проверки PyCharm IDE)
BaseProxy
следует импортировать, используя что-то вроде from multiprocessing.managers import BaseProxy
, если только яя полностью пропускаюОднако я могу импортировать класс BaseManager
, используя ту же строку.
Python-версия моей рабочей среды Anaconda - 3.7.5, и я даже сделал чистую установку Anaconda, потому что думал, что мойустановка может быть повреждена.
Я пробовал pip install multiprocessing --upgrade
;тем не менее, командная строка выдает мне эту ошибку SyntaxError:
print 'Macros:'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Macros:')?
Поэтому я склонен полагать, что версия Python некоторого дистрибутива испорчена, так как print var
подходила для более ранних версий python.
В качестве последнего замечания я попытался импортировать BaseProxy
на онлайн-интерфейсы Python, такие как Repl (Python = 3.7.4) , и мне это удалось.
Редактировать: Благодаря @ dr.me123 я смог определить, в чем проблема с моей IDE, PyCharm и / или с моим пакетом, так как я смог импортировать BaseProxy
с другой IDE (Spyder) с использованием того же интерпретатора. , в новом скрипте.
Редактировать: Так что, похоже, я по глупости связал упомянутую выше ошибку проверки PyCharm с фактической ошибкой импорта как частьмой код, который использует BaseProxy, не работает должным образом. После создания очень простого теста я обнаружил, что BaseProxy
успешно импортировался все время. Однако что-то, вероятно, все еще где-то запутано, так как я вижу в трассировке операторы from __future__ import
от других реальных ошибок импорта, не говоря уже о старой ошибке print var
, упомянутой выше.