python - Google Colaboratory - AttributeError:模块 X 没有属性 Y
问题描述
我正在尝试在 Google Colaboratory 笔记本(运行 Python 3)中使用 Freesound API 来生成用于进行机器学习的声音数据库。但是,我无法在导入的模块中使用定义。
我看过其他类似的问题,但它们似乎没有解决我的问题(大多数情况是尝试在标准 python 库中导入模块,而不是导入同名的 .py 文件),如果这个特别问题已在其他地方讨论过。
样板代码如下:
#clone relevant Git repo
!git clone https://github.com/MoltenMuffins/freesound-python
!ls
#Import packages
import os
import sys
import requests
#Open module file and import module
open('freesound.py','wb')
import freesound
之后有一些代码,但与问题无关。尽管在从 repo 克隆的 freesound.py 文件中定义了 FreesoundClient,但运行最后一个代码块给了我属性错误:
freesound_client = freesound.FreesoundClient()
我将不胜感激有关此问题的解释!
解决方案
我会按照 repo 的说明使用它们setup.py
进行安装:
克隆 git repo 后,您希望将工作目录更改为该freesound-python
目录并运行setup.py
import os
os.chdir('/content/freesound-python')
!python setup.py install
# now import the module
import freesound
推荐阅读
- bazel - Bazel:列出可用参数
- python - Pandas DataFrame:为什么我不能通过行迭代根据另一列的值更改一列的值?
- python - 我的代码将附加一个列表,但不会打印出正确的长度
- javascript - javascript setInterval 在数组对象上调用时出错
- java - 如何在编译时和运行时类路径中找到 jar 文件?
- java - 如何使用 Web3j Api 编写一个模拟方法来获取以太币余额。我正在尝试模拟 Web3j 和 callig EthGetBalance 方法,但我得到 Null
- azure - mscorlib:Microsoft.Azure.WebJobs.Host:无效的存储帐户请确保您的凭据正确
- go - 读取文件中的多个 yaml
- javascript - 制作下拉菜单以选择数组中的对象?
- java - Java 构造函数在所需对象之前创建许多空实例