chinapnr / fishbase

自主开发、整理的一套 Python 基础函数库,涵盖 system 系统增强包、logger 日志记录增强包、file 文件处理增强包、 date 日期处理函数包、data 数据信息处理函数包、csv 处理增强函数包、crypt 加密/编码增强包等,可减少程序开发工作量、降低引用复杂度。
MIT License
93 stars 30 forks source link

在干净的 python 环境安装 fishbase 报错找不到 dateutil #55

Closed wingfish closed 6 years ago

wingfish commented 6 years ago

在一个完全干净的 python 环境安装 fishbase 出错,比较奇怪。

Collecting fishbase Downloading https://files.pythonhosted.org/packages/a4/2b/45c42409bbb090cb5df5fbabda0b13189402070d00174f06755c51839d25/fishbase-1.0.13.tar.gz Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in File "/private/var/folders/y5/rt54swp16rvg9q5vfsdwp9jr0000gn/T/pip-install-n1alx_0y/fishbase/setup.py", line 3, in from fishbase import version File "/private/var/folders/y5/rt54swp16rvg9q5vfsdwp9jr0000gn/T/pip-install-n1alx_0y/fishbase/fishbase/init.py", line 21, in from .fish_date import * File "/private/var/folders/y5/rt54swp16rvg9q5vfsdwp9jr0000gn/T/pip-install-n1alx_0y/fishbase/fishbase/fish_date.py", line 4, in from dateutil.relativedelta import relativedelta ModuleNotFoundError: No module named 'dateutil'

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/y5/rt54swp16rvg9q5vfsdwp9jr0000gn/T/pip-install-n1alx_0y/fishbase/


在 setup.py 中是有

install_requires=['python-dateutil']

应该会自动安装 python-dateutil,也就是 dateutil

需要验证是否哪里有问题

itaa commented 6 years ago

这个问题是由于在setup.py中 from fishbase import __version__ 导致的, version的导入可使用正则的方式来提取,参考如下:

import io
import re
with io.open('fishbase/__init__.py', 'rt', encoding='utf8') as f:
    version = re.search(r'__version__ = \'(.*?)\'', f.read()).group(1)