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

标签 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

最佳答案

新版本 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 file 向我们展示了我们需要的文件和对象。例如,对于旧的 objects.Campaign 对象,我们使用以下 campaign.Campaign 对象:

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

关于python - facebook-python-ads-sdk - ImportError : cannot import name 'objects' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43738262/

相关文章:

python - IOLoop.current().run_in_executor() 和 ThreadPoolExecutor().submit() 的区别

php - Google App Engine 上的 Facebook Apps(基于 PHP)

facebook - 过滤 Facebook GET act_id/customaudiences 结果

facebook - 在 FB 分析中跟踪自定义事件

c# - 在 .net 中获取 facebook 广告 api 错误

python - 如何通过在框架的指定区域中关联汽车质心来保持特定车道中的汽车数量

python - 如何将用户输入变量传递给Sqlalchemy语句?

javascript - AJAX 重定向

java - 如何将 Facebook 联系人导入到我的 Android 平台应用程序中?

python - pyqt4窗口调整大小事件