facebook-python-ads-sdk - ImportError:无法导入名称'对象'

时间:2017-05-02 12:46:24

标签: python facebook facebook-ads-api

我根据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 clone并运行了setup.py来安装模块,但结果是一样的。

如何删除此错误?

版本:python 3.5.2,pip 9.0.1,facebookads 2.9.1

1 个答案:

答案 0 :(得分:4)

似乎新版本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。该文件的顶部有examplanation:

-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(...)