facebook-python-ads-sdk - ImportError: cannot import name 'objects'

facebook-python-ads-sdk - ImportError: cannot import name 'objects'

我根据 README.md (https://github.com/facebook/facebook-python-ads-sdk)

安装了 facebookads
pip3 install facebookads

然后我尝试根据 README.md.

在我的 python 代码中导入 facebookads
from facebookads.api import FacebookAdsApi
from facebookads import objects

然后出现如下错误

Traceback (most recent call last):
  File "generate_facebook_campaigns.py", line 2, in <module>
    from facebookads import objects
ImportError: cannot import name 'objects'

我也试过git克隆和运行setup.py安装模块,但结果是一样的。

如何消除这个错误?

版本:python 3.5.2,pip 9.0.1,facebookads 2.9.1

新版本 2.8.2(19 天)和 2.9.1(8 天)似乎引入了这个导入错误。使用版本 2.8.1 不会给我这个错误:

$ pip install -I facebookads==2.8.1
...
$ python
>>> from facebookads import objects
>>>

他们可以在不更改文档的情况下更改库。 旧版本中存在的文件 objects.py 似乎 have been removed。文件顶部有解释:

-This file is kept for backward compatibility.
-Please use objects in adobjects folder instead.

所以在新导入中将如下所示:

from facebookads.adobjects.<file> import <object>
# or
from facebook.adobjects import <file>
<file>.<object>

查看旧 objects.py 文件会告诉我们需要哪个文件和对象。例如,对于旧的 objects.Campaign 对象,我们使用以下 campaign.Campaign 对象:

from facebookads.adobjects import campaign
c = campaign.Campaign(...)