我正在将apscheduler(3.0.1)升级到apscheduler(3.1.0)。 当我升级这个时,我收到了这个错误
Traceback (most recent call last):
from apscheduler.jobstores.base import JobLookupError
File "/mydir/env/local/lib/python2.7/site-packages/apscheduler/__init__.py", line 3, in <module>
version_info = tuple(int(x) if x.isdigit() else x for x in parsed_version.public.split('.'))
AttributeError: 'tuple' object has no attribute 'public
在apscheduler 3.0.1中,apscheduler / init .py文件就像
version_info = (3, 0, 5)
version = '3.0.5'
release = '3.0.5'
__version__ = release # PEP 396
在apscheduler 3.1.0文件中更改为
parsed_version = __import__('pkg_resources').get_distribution('APScheduler').parsed_version
version_info = tuple(int(x) if x.isdigit() else x for x in parsed_version.public.split('.'))
version = parsed_version.base_version
release = __version__ = parsed_version.public
del parsed_version
由于 parsed_version 没有属性名称public.It正在抛出此错误。
我将此文件编辑为与之前的版本类似,然后在apscheduler / util.py第14行中出现了新的异常:
from funcsigs import signature
没有名为funcsigs的模块。
安全升级ap-scheduler版本的方法是什么?
P.S:我正在使用python 2.7
提前致谢。
答案 0 :(得分:2)
您似乎使用了非常古老的setuptools版本。升级将彻底解决这些问题,但这种不兼容性已在this commit中得到修复。 funcsigs包也应该已经自动安装,但你的setuptools必须这么老,它不知道如何处理条件依赖。