2016-05-04 48 views
1

我正在將apscheduler(3.0.1)升級到apscheduler(3.1.0)。 當我升級這個我得到這個錯誤將apscheduler從3.0.1升級到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/初始化 .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是thr由於這個錯誤。

我編輯這個文件能像以前的版本,然後我在apscheduler/util.py線14得到了一個新的異常:

from funcsigs import signature 

無模塊命名funcsigs。

安全地升級ap-scheduler版本的方法是什麼?

P.S:我正在使用python 2.7

在此先感謝。

回答

2

你似乎在使用一個非常古老的setuptools版本。升級將徹底解決這些問題,但這種不兼容性已在this commit中得到解決。 funcsigs包應該也是自動安裝的,但是你的setuptools必須很老,不知道如何處理條件依賴。

+0

明白了,使用** pip install -U pip wheel setuptools **來升級安裝工具,然後重新安裝** pip install APScheduler == 3.1.0 ** – tom

+0

嗨,我使用Redis作爲調度程序的Job Store因此,當我升級並重新啓動時,我收到警告,然後我所有預定的作業都被刷新。 – tom

相關問題