006 金融工具库funcat安装教程及异常处理

news2024/10/6 6:40:39

funcat库集合了同花顺、通达信等的常用公式,安装后可以直接使用公式制定策略。

funcat常用公式可参考github说明:GitHub - cedricporter/funcat: Funcat 将同花顺、通达信、文华财经麦语言等的公式写法移植到了 Python 中。

常见异常:

使用pip install funcat时,由于funcat源码中缺少req模块,会导致安装失败,需要手动下载文件并修改setup.py代码进行安装。

step1:下载

进入funcat官网,选择需要的版本,点击【download files】下载文件。

 funcat官网:funcat · PyPI

step2:解压 

windows系统:直接解压tar.gz文件即可。

linux系统:进入downloads文件夹,用tar命令解压:

tar -xzvf funcat-0.3.2.tar.gz

step3:修改setup.py

进入funcat文件夹,首先备复制份setup.py,以备恢复。

打开setup.py,内容如下:

对比funcat文件夹,并对比第11行代码中的“from pip.req import parse_requirements”可知,文件中并没有pip文件夹,所以没法导入parse_requirements.

因此也就导致第27行中,setup函数的【install_requires】参数中缺少要求安装的包。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#

from os.path import dirname, join
from setuptools import (
    find_packages,
    setup,
)

from pip.req import parse_requirements


with open(join(dirname(__file__), 'funcat/VERSION.txt'), 'rb') as f:
    version = f.read().decode('ascii').strip()

setup(
    name='funcat',
    version=version,
    description='funcat',
    packages=find_packages(exclude=[]),
    author='Hua Liang',
    url='https://github.com/cedricporter/funcat',
    author_email='et@everet.org',
    license='Apache License v2',
    package_data={'': ['*.*']},
    install_requires=[str(ir.req) for ir in parse_requirements("requirements.txt", session=False)],
    zip_safe=False,
    classifiers=[
        'Programming Language :: Python',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: Unix',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
    ],
)

其实本质上就是setup函数的install_requires缺少了依赖的库列表而已。这些依赖库的名称其实已经在requriements.txt(见下图)中了,重新给他读进来就行了。

 

因此,将第11行注释掉,然后自定义一个函数读取依赖库列表,作为install_reqiures的参数即可。修改后的setup.py如下(具体见11-19行,34-37行):

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#

from os.path import dirname, join
from setuptools import (
    find_packages,
    setup,
)

#————————————————————————modify start——————————————————————————————————————
# from pip.req import parse_requirements
def get_requirements():
    requirements = []
    with open('requirements.txt', 'r') as f:
        for line in f.readlines():
            requirements.append(line.strip())
    return requirements
#————————————————————————modify end——————————————————————————————————————

with open(join(dirname(__file__), 'funcat/VERSION.txt'), 'rb') as f:
    version = f.read().decode('ascii').strip()

setup(
    name='funcat',
    version=version,
    description='funcat',
    packages=find_packages(exclude=[]),
    author='Hua Liang',
    url='https://github.com/cedricporter/funcat',
    author_email='et@everet.org',
    license='Apache License v2',
    package_data={'': ['*.*']},
    #————————————————————————modify start——————————————————————————————————————
    # install_requires=[str(ir.req) for ir in parse_requirements("requirements.txt", session=False)],
    install_requires=get_requirements(),
    #————————————————————————modify end——————————————————————————————————————
    zip_safe=False,
    classifiers=[
        'Programming Language :: Python',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: Unix',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
    ],
)

step4 pip安装funcat

使用下面的命令安装本地的funcat文件:

# pip install 【funcat文件价路径】
pip install /home/czh/Downloads/funcat-0.3.2

step5 TA-Lib安装异常

安装过程中,如果TA_Lib库安装报错,可能需要先处理TA_Lib库的问题。具体参考链接:

windows下或者linux下安装Ta-Lib(真实可用)_撸码狂魔吖的博客-CSDN博客_ta-lib 0.4.25

具体安装步骤如下:

# 获取源码库
sudo wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
# 解压进入目录
tar -zxvf ta-lib-0.4.0-src.tar.gz
cd ta-lib/
# 编译安装
sudo ./configure --prefix=/usr  
sudo make
sudo make install
# 重新安装python的TA-Lib库,注意修改版本号
pip install TA-Lib==0.4.25

step6:确认安装情况:

可通过conda list查看funcat版本信息,同时通过代码import funcat查看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/363310.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

干货解答:如何设置Facebook Messenger 自动回复?

Facebook Messenger 自动回复消息是提升客户体验的有效方法。在本文中,我们将探讨设置Facebook 自动响应和不同的创建方法 Facebook 自动回复。另外,我们准备了一些最受欢迎的 Facebook Messenger 自动回复消息。Facebook Messenger 自动回复&#xff1a…

Kafka消费分组和分区分配策略

Kafka消费分组,消息消费原理 同一个消费组里的消费者不能消费同一个分区,不同消费组的消费组可以消费同一个分区 (即同一个消费组里面的消费者只能在一个分区中) Kafka分区分配策略 问题 用过 Kafka 的同学用过都知道&#xf…

idea启动报错If you already have a 64-bit JDK installed, define a JAVA HOME variable

IDEA启动报错,如下图所示: 解决方法: 1.根据以下路径找到文件idea64.exe.vmoptions ,路径如下图所示: C:\Users\Thinkpad\AppData\Roaming\JetBrains\IntelliJIdea2020.3\idea64.exe.vmoptions 其中Thinkpad是电脑的…

0401不定积分的概念和性质-不定积分

文章目录1 原函数与不定积分的概念1.1 原函数1.2 原函数存在定理1.3 不定积分2 不定积分的性质3 基本积分表4 例题后记1 原函数与不定积分的概念 1.1 原函数 定义1 如果在区间I上,可导函数F(x)的导航为f(x),即对任一x∈Ix\in Ix∈I,都有 F′…

ubuntu转储coredump

方法一: 输入以下命令即可,其中${USER}为自己电脑的用户名: ulimit -c unlimited echo "/home/${USER}/core.%p" > /proc/sys/kernel/core_pattern 方法二: Disable apport : sudo systemctl stop apport.servicesudo system…

【Git】Git的分支操作

目录 4、 Git 分支操作 4.1 什么是分支 4.2 分支的好处 4.3 分支的操作 4、 Git 分支操作 4.1 什么是分支 在版本控制过程中, 同时推进多个任务, 为每个任务, 我们就可以创建每个任务的单独分支。 使用分支意味着程序员可以把自己的工作…

98%的程序员,都没有研究过JVM重排序和顺序一致性

文章整理自 博学谷狂野架构师 重排序 数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: 名称代码示例说明写后读a 1;b a;写一个变量之后,再…

YOLOv5改进、YOLOv7改进IoU损失函数:YOLOv7涨点Trick,改进添加SIoU损失函数、EIoU损失函数、GIoU损失函数、α-IoU损失函数

💡该教程为改进入门指南,属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章 基于 YOLOv5、YOLOv7芒果改进YOLO系列:YOLOv7改进IoU损失函数&am…

[手把手教你]实现简单的登录跳转以及tab栏的动态渲染

需求:实现login登录页输入用户名和密码, 匹配失败显示提示信息, 成功则跳转到index主页index页面中各组件通过嵌套路由实现,点击一级菜单可以动态显示二级菜单1.使用vite搭建项目安装初始化npm init vuelatest选择配置进入项目目录,安装模块npm i, 启动项目npm run dev2.项目目…

【答疑现场】我一个搞嵌入式的,有必要学习Python吗?

【答疑现场】我一个搞嵌入式的,有必要学习Python吗? 文章目录1 写在前面2 一个结论3 Python在嵌入式领域能干啥事4 Python是用来干大事的5 友情推荐6 福利活动大家好,我是架构师李肯,一个专注于嵌入式物联网系统架构设计的攻城狮。…

FPGA纯vhdl实现MIPI CSI2 RX视频解码输出,OV13850采集,提供工程源码和技术支持

目录1、前言2、Xilinx官方主推的MIPI解码方案3、纯Vhdl方案解码MIPI4、vivado工程介绍5、上板调试验证6、福利:工程代码的获取1、前言 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰…

Hive---浅谈Hive

浅谈Hive 文章目录浅谈HiveHive文件映射Hive组件元数据(Metadata)元数据存储元数据服务(Metastore)Metastore配置方式Metastore远程模式Hive启动方式第一种(本地)第二种beelineHive Apache Hive作为一款大…

电子作业指导书系统能树立良好的生产形象

“制造”就是以规定的成本、规定的工时、生产出品质均匀、符合规格的产品。从全球新能源汽车的发展来看,其动力电源主要包括锂离子电池、镍氢电池、铅酸电池、超级电容器,其中超级电容器大多以辅助动力源的形式出现。那么,电子作业指导书系统…

吐血整理AutoSAR Com-Stack 的配置【基于ETAS】

总目录链接>> AutoSAR入门和实战系列总目录 文章目录01.软件组件和系统说明02.基本软件配置03.系统数据映射04.代码生成05.代码整合06.测试下图显示了基于 AUTOSAR 的 ECU SW 的结构。纵观BSW,大体分为三层。三层模块中,与通信相关的模块称为通信…

修改一个对象的所有者

警示:本文需要你懂点儿 “技术”。 修改一个对象(例如一个文件)的所有者看起来不是很复杂:你只需要调用 SetNamedSecurityInfo 并传入一个新的安全描述符就可以了,是的,就是这么简单。 难点在于,你如何到达这个调用时…

分布式之Quorum NWR算法

写在前面 假设现在我们实现了AP 系统,但是公司突然要对某些业务进行实时的数据计算,并且要求按照强一致性的方式来读取数据,此时作为系统设计这的我们该怎么办呢?单独为这部分业务实时抽出最新数据?还是修改原有系统&…

个人服务器+博客网站搭建

实现目标: 远程访问windows远程访问linux并在该环境开发(ssh)个人博客网站运 环境准备 准备一台性能较好的个人电脑,推荐台式机,仅在环境搭建初期需要显示器,后期使用基本不需要屏幕。规划好磁盘使用&…

从0探索NLP——神经网络

从0探索NLP——神经网络 1.前言 一提人工智能,最能想到的就是神经网络,但其实神经网络只是深度学习的主要实现方式。 现在主流的NLP相关任务、模型大都是基于深度学习也就是构建神经网络实现的,所以这里讲解一下神经网络以及简单的神经网络…

随想录二刷(数组二分法)leetcode 704 35 34 69 367

第一题 leetcode 704.二分查找 二分法的思路 二分法的思路很简单 数组必须有序先查找中间元素进行比较得出大小再考虑向左比较还是向右比较 代码实现 class Solution { public:int search(vector<int>& nums, int target) {int left 0;int right nums.size() -…

[oeasy]python0090_极客起源_wozniac_苹果公司_Jobs_Wozniac

极客起源 回忆上次内容 上次回顾了 DEC公司的兴起 从IBM的大型机 到DEC的小型机Mini Computer 再到DEC的终端 VT-100 计算机基础元器件发生了进化 从ENIAC的 电子管到PDP系列的 晶体管 新的器件 体积小了价格低了稳定性 提高了而且 连成了网络 ARPA网 就是 最初的Internet …