Anaconda 在 运行 python 文件时崩溃 - Mac OS

Anaconda crashes when running python file - Mac OS

我想使用 Anaconda Python 环境。但是当我 运行 任何东西时,Anaconda 和 Miniconda 都会崩溃。我同时使用了 Wing 和 Pycharm——相同的结果。文件在做什么似乎无关紧要,但这是导致它崩溃的代码类型:


import numpy as np
import random
import datetime
import matplotlib
matplotlib.use('TkAgg')
from matplotlib import pyplot as plt
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
numDays = 30


def time_series_generator(series_type, vectorSize=500, show_series_plot=False):
    if series_type == "RW":
        RW = np.zeros(vectorSize)
        RW[0] = np.exp(random.normalvariate(mu=0, sigma=10))
        for index in range(1, vectorSize):
            RW[index] = RW[index - 1] + random.normalvariate(mu=0, sigma=1)

        return RW


def synthetic_data_generator(numDays):
    # Randomly generated data
    data = list(time_series_generator(series_type="RW", vectorSize=numDays, show_series_plot=False))
    # generate randomized periodic dataArray from data
    data1 = []
    data2 = []
    data3 = []
    for index in range(0, len(data), 1):
        data1.append(data[index] + 0.1*np.random.normal(0, 1))
        data2.append(data[index] + 0.1*np.random.normal(0, 1))
        data3.append(data[index] + 0.1*np.random.normal(0, 1))
    dataArray = np.abs((data1 + data2) + data3)
    # Scale to [0, 100]
    if np.max(dataArray) > 100:
        C_t = random.randint(0,100) * dataArray / np.max(dataArray)
    else:
        C_t = dataArray

    data = list(time_series_generator(series_type="RW", vectorSize=numDays, show_series_plot=False))
    data1 = []
    data2 = []
    data3 = []
    for index in range(0, len(data), 1):
        data1.append(data[index] + 0.1*np.random.normal(0, 1))
        data2.append(data[index] + 0.1*np.random.normal(0, 1))
        data3.append(data[index] + 0.1*np.random.normal(0, 1))
    dataArray = np.abs((data1 + data2) + data3)
    if np.max(dataArray) > 100:
        M_t = random.randint(0,100) * dataArray / np.max(dataArray)
    else:
        M_t = dataArray

    # More realistic F_t
    data = list(time_series_generator(series_type="RW", vectorSize=3*numDays, show_series_plot=False))
    F_t = []
    for index in range(0, len(data), 1):
        F_t.append(np.abs(random.randint(0,100)*data[index]/np.max(np.abs(data))))

    base = datetime.datetime.today()
    T = [base + datetime.timedelta(days=x) for x in range(3 * numDays)]

    return C_t, M_t, F_t, T

if __name__ == "__main__":

    C_t, M_t, F_t, T = synthetic_data_generator(numDays)

    line1 = plt.plot(T, C_t, color='blue')
    line2 = plt.plot(T, M_t, color='green')
    line3 = plt.plot(T, F_t, color='red')
    plt.legend(('C(t)', 'M(t)', 'F(t)'))
    plt.show()

我在 threadDump 日志中看不到任何有用的信息。

关于我如何弄清楚发生了什么的任何想法?还有哪些其他信息可能有用?

谢谢!

看来问题是 matplotlib 希望解释器成为一个框架。

运行这个;

conda install python.app

并且将安装pythonw。然后选择 /opt/anaconda3/bin/pythonw 作为项目解释器。它似乎工作。 Mac 可能是愚蠢的机器。