Частично инициализированный модуль pyairtablePython

Программы на Python
Ответить
Anonymous
 Частично инициализированный модуль pyairtable

Сообщение Anonymous »

По сути, я создаю на DJango своего рода менеджер баз данных для того места, где работаю. Я пытаюсь использовать airtable в качестве базы данных (вместо JSON или других методов), потому что у нас есть вся информация. Но каждый раз, когда я пытаюсь запустить скрипт, он выдает мне эту ошибку. AttributeError: частично инициализированный модуль 'pyairtable' из 'C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\__init__ .py» не имеет атрибута «api» (скорее всего, из-за циклического импорта). У меня установлены соответствующие пакеты, и я попытался найти файл с тем же именем, который мог бы вызвать эту ошибку, но ничего не нашел. Чтобы проверить это, я даже сделал этот скрипт для Python, и он все равно не работает

from pyairtable import Table
from dotenv import load_dotenv, find_dotenv

AT = os.getenv(AIRTABLE_TOKEN)
BI = os.getenv(BASE_ID)

RC_table = Table(AT, BI, 'RC')
LB_table = Table(AT, BI, 'L&B')
PM_table = Table(AT, BI, 'PM')
print("Table imported and initialized successfully!")


И все равно выдает ту же ошибку. Я попытался получить токен, вставив его непосредственно в приложение, а затем используя os.getenv( ) (токен имеет доступ ко всем операциям в таблицах airtable). Я не знаю, что делать, чтобы все заработало.

Это полная трассировка ошибок:
Traceback (most recent call last):
File "C:\Users\PC\Desktop\teat.py", line 1, in
from pyairtable import Table
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\__init__.py", line 3, in
from .api import Api, Base, Table
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\api\__init__.py", line 1, in
from .api import Api
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\api\api.py", line 9, in
from pyairtable.api.enterprise import Enterprise
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\api\enterprise.py", line 8, in
from pyairtable.models._base import AirtableModel, rebuild_models
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\models\__init__.py", line 17, in
from .comment import Comment
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\models\comment.py", line 10, in
class Comment(
......
reactions: List["Reaction"] = pydantic.Field(default_factory=list)
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_model_construction.py", line 221, in __new__
set_model_fields(cls, bases, config_wrapper, ns_resolver)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_model_construction.py", line 593, in set_model_fields
fields, class_vars = collect_model_fields(cls, bases, config_wrapper, ns_resolver, typevars_map=typevars_map)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_fields.py", line 112, in collect_model_fields
type_hints = _typing_extra.get_cls_type_hints(cls, ns_resolver=ns_resolver, lenient=True)
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_typing_extra.py", line
472, in get_cls_type_hints
hints[name] = eval_type(value, globalns, localns, lenient=lenient)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_typing_extra.py", line
498, in eval_type
return eval_type_backport(value, globalns, localns)
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_typing_extra.py", line
534, in eval_type_backport
return _eval_type_backport(value, globalns, localns, type_params)
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_typing_extra.py", line
558, in _eval_type_backport
return _eval_type(value, globalns, localns, type_params)
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pydantic\_internal\_typing_extra.py", line
588, in _eval_type
return typing._eval_type( # type: ignore
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
value, globalns, localns, type_params=type_params
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\typing.py", line 474, in _eval_type
return t._evaluate(globalns, localns, type_params, recursive_guard=recursive_guard)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\typing.py", line 1081, in _evaluate
eval(self.__forward_code__, globalns, localns),
~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1, in
AttributeError: partially initialized module 'pyairtable' from 'C:\Users\PC\AppData\Local\Programs\Python\Python313\Lib\site-packages\pyairtable\__init__.py' has no attribute 'api' (most likely due to a circular import)


Подробнее здесь: https://stackoverflow.com/questions/792 ... pyairtable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»