浏览代码

Read install_requires from requirements.txt, and make things work without matplotlib installed

Ben Letham 7 年之前
父节点
当前提交
7f9e4b80c1
共有 2 个文件被更改,包括 10 次插入8 次删除
  1. 7 3
      python/fbprophet/forecaster.py
  2. 3 5
      python/setup.py

+ 7 - 3
python/fbprophet/forecaster.py

@@ -15,11 +15,15 @@ from copy import deepcopy
 from datetime import timedelta
 import logging
 
+logging.basicConfig()
 logger = logging.getLogger(__name__)
 
-from matplotlib import pyplot as plt
-from matplotlib.dates import MonthLocator, num2date
-from matplotlib.ticker import FuncFormatter
+try:
+    from matplotlib import pyplot as plt
+    from matplotlib.dates import MonthLocator, num2date
+    from matplotlib.ticker import FuncFormatter
+except ImportError:
+    logger.exception('Importing matplotlib failed. Plotting will not work.')
 
 import numpy as np
 import pandas as pd

+ 3 - 5
python/setup.py

@@ -94,6 +94,8 @@ class TestCommand(test_command):
             sys.modules.update(old_modules)
             working_set.__init__()
 
+with open('requirements.txt', 'r') as f:
+    install_requires = f.read().splitlines()
 
 setup(
     name='fbprophet',
@@ -106,11 +108,7 @@ setup(
     packages=['fbprophet', 'fbprophet.tests'],
     setup_requires=[
     ],
-    install_requires=[
-        'matplotlib',
-        'pandas>=0.18.1',
-        'pystan>=2.14',
-    ],
+    install_requires=install_requires,
     zip_safe=False,
     include_package_data=True,
     # For Python 3, Will enforce that tests are run after a build.