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 可能是愚蠢的机器。
我想使用 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 可能是愚蠢的机器。