gpt4 book ai didi

python - 通过 REPL 工作,但从命令行运行时失败 : AttributeError: module 'talib' has no attribute 'MA'

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:03 27 4
gpt4 key购买 nike

我正在尝试使用库 TA-Lib,我安装了它,当我将其逐行输入到 python shell 时,以下代码可以工作:

import numpy
import talib
from numpy import genfromtxt

price = genfromtxt( "/home/volt/projects/data/history.csv")
length = len(price)
MA5 = talib.MA(price, 5)
MA100 = talib.MA(price, 100)

但是当我从 bash 运行整个脚本时,它显示:

python talib.py 
Traceback (most recent call last):
File "talib.py", line 2, in <module>
import talib
File "/home/volt/projects/technical_analysis/talib.py", line 7, in <module>
MA5 = talib.MA(price, 5)
AttributeError: module 'talib' has no attribute 'MA'

知道这怎么可能吗?

最佳答案

实际上,您正在使用一个名为 talib 的脚本,该脚本本身导入模块 talib。你的命名空间中有一个双倍隆。我的意思是,你确实这么做了

#talib.py
import talib

由于 python 在搜索路径之前会检查工作目录中的模块,因此 talib.py 实际上会导入自身!

重命名您的工作脚本,例如mytalib.py,并且不要忘记删除在工作目录中生成的talib.pyc

<小时/>

为了清楚地弄清楚这一点,请创建一个名为 myscript.py 的脚本,其中包含以下内容

print('hello')
import myscript

执行此脚本。它将打印 "hello" 两次。

关于python - 通过 REPL 工作,但从命令行运行时失败 : AttributeError: module 'talib' has no attribute 'MA' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44144713/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com