Description of problem
My code runs okay on my laptop; however, it runs with error on my lab PC.
Minimal code to reproduce problem
from brian2 import *
start_scope()
area = 20000*umetre**2
C = 1*ufarad*cm**-2 * area
g_leak_e = 2.23*nsiemens
g_leak_fbi = 1.12*nsiemens
g_leak_ffi = 3.86*nsiemens
g_bar_Na_e = 59.*msiemens*cm**-2 * area
g_bar_Na_fbi = 28.*msiemens*cm**-2 * area
g_bar_Na_ffi = 58.*msiemens*cm**-2 * area
g_bar_Kd_e = 3.1*msiemens*cm**-2 * area
g_bar_Kd_fbi = 6.*msiemens*cm**-2 * area
g_bar_Kd_ffi = 6.6*msiemens*cm**-2 * area
g_bar_M_e = .16*msiemens*cm**-2 * area
g_bar_M_fbi = .09*msiemens*cm**-2 * area
g_bar_M_ffi = .05*msiemens*cm**-2 * area
tao_max_e = 686.4*ms
tao_max_fbi = 2646.*ms
tao_max_ffi = 1056.*ms
E_Na = 50.*mV
E_K = -90.*mV
E_Ca = 120.*mV
E_leak_e = -56.2*mV
E_leak_ffi = -70.4*mV
E_leak_fbi = -70.4*mV
V_T_e = -58.67*mV
V_T_fbi = -66.54*mV
V_T_ffi = -61.47*mV
V_x = 2*mV
stim_out1 = []
for i1 in range(200):
stim_out1.append(1-int(isin(i1, [0, 1, 2, 3])))
stim_out1 = np.array(stim_out1)
@check_units(i1=1, result=1)
def is_stim(i1):
return stim_out1
runtime = 5*second
t_stim = linspace(0, runtime/second, int(runtime/defaultclock.dt))
stimulus = TimedArray(array([where(abs(t_stim-25.)<=20., 1, 0), \
zeros(int(runtime/defaultclock.dt))]).T*nA, \
dt=defaultclock.dt)
eqs_e = '''
dv/dt = (g_leak_e*(E_leak_e-v) - g_bar_Na_e*(m*m*m)*h*(v-E_Na) - g_bar_Kd_e*(n*n*n*n)*(v-E_K) - g_bar_M_e*p*(v-E_K) + stimulus(t, is_stim(i) )) / C : volt
dm/dt = 0.32*(mV**-1)*(13.*mV-v+V_T_e)/
(exp((13.*mV-v+V_T_e)/(4.*mV))-1.)/ms*(1-m)-0.28*(mV**-1)*(v-V_T_e-40.*mV)/
(exp((v-V_T_e-40.*mV)/(5.*mV))-1.)/ms*m : 1
dn/dt = 0.032*(mV**-1)*(15.*mV-v+V_T_e)/
(exp((15.*mV-v+V_T_e)/(5.*mV))-1.)/ms*(1.-n)-.5*exp((10.*mV-v+V_T_e)/(40.*mV))/ms*n : 1
dh/dt = 0.128*exp((17.*mV-v+V_T_e)/(18.*mV))/ms*(1.-h)-4./(1+exp((40.*mV-v+V_T_e)/(5.*mV)))/ms*h : 1
dp/dt = (1./(1.+exp(-(v+35.*mV)/(10.*mV)))-p)/(tao_max_e/(3.3*exp((v+35.*mV)/(20.*mV))+exp(-(v+35.*mV)/(20.*mV)))) : 1
'''
G_e = NeuronGroup(200, eqs_e,
threshold='v > 0*mV',
refractory='v > 0*mV',
method='exponential_euler')
M_e = SpikeMonitor(G_e)
M_v_e = StateMonitor(G_e, 'v', record=True)
run(runtime)
What you have aready tried
I tried installing various packages like cython.
I tried changing the IDE to PyCharm (was using spyder).
I tried the latest versions of everything (brian2 library, python, PyCharm)
Expected output (if relevant)
Actual output (if relevant)
Full traceback of error (if relevant)
ERROR Brian 2 encountered an unexpected error. If you think this is a bug in Brian 2, please report this issue either to the discourse forum at <http://brian.discourse.group/>, or to the issue tracker at <https://github.com/brian-team/brian2/issues>. Please include this file with debug information in your report: C:\Users\erased\AppData\Local\Temp\brian_debug_8cuqpzn7.log Additionally, you can also include a copy of the script that was run, available at: C:\Users\erased\AppData\Local\Temp\brian_script_0to5g7fs.py Thanks! [brian2]
Traceback (most recent call last):
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\codegen\codeobject.py", line 418, in create_runner_codeobj
value.implementations[codeobj_class]
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\functions.py", line 349, in __getitem__
raise KeyError(('No implementation available for target {key}. '
KeyError: 'No implementation available for target cython. Available implementations: '
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\network.py", line 897, in before_run
obj.before_run(run_namespace)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\groups\group.py", line 1143, in before_run
self.create_code_objects(run_namespace)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\groups\group.py", line 1136, in create_code_objects
code_object = self.create_default_code_object(run_namespace)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\groups\group.py", line 1118, in create_default_code_object
self.codeobj = create_runner_codeobj(group=self.group,
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\codegen\codeobject.py", line 425, in create_runner_codeobj
raise NotImplementedError(('Cannot use function '
NotImplementedError: Cannot use function is_stim: 'No implementation available for target cython. Available implementations: '
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "E:\Research\05 - Brian\HH_network_temp.py", line 68, in <module>
run(runtime)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\units\fundamentalunits.py", line 2434, in new_f
result = f(*args, **kwds)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\magic.py", line 373, in run
return magic_network.run(duration, report=report, report_period=report_period,
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\magic.py", line 231, in run
Network.run(self, duration, report=report, report_period=report_period,
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\base.py", line 278, in device_override_decorated_function
return func(*args, **kwds)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\units\fundamentalunits.py", line 2434, in new_f
result = f(*args, **kwds)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\network.py", line 1008, in run
self.before_run(namespace)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\base.py", line 278, in device_override_decorated_function
return func(*args, **kwds)
File "C:\Users\erased\AppData\Local\Programs\Python\Python39\lib\site-packages\brian2\core\network.py", line 899, in before_run
raise BrianObjectException("An error occurred when preparing an object.", obj) from ex
brian2.core.base.BrianObjectException: Error encountered with object named "neurongroup_stateupdater".
Object was created here (most recent call only, full details in debug log):
File "E:\Research\05 - Brian\HH_network_temp.py", line 60, in <module>
G_e = NeuronGroup(200, eqs_e,
An error occurred when preparing an object. (See above for original error message and traceback.)
Process finished with exit code 1