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

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='[email protected]',
    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='[email protected]',
    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查看。

猜你喜欢

转载自blog.csdn.net/wxyczhyza/article/details/129161789
006