我根据README.md(https://github.com/facebook/facebook-python-ads-sdk)
安装了facebookadspip3 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
答案 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(...)