我正在运行 cell types notebook 的第一行:
sweep_number = 30
sweep_data = data_set.get_sweep(sweep_number)
我收到此错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-1ff88b13fc24> in <module>()
4
5 sweep_number = 30
----> 6 sweep_data = data_set.get_sweep(sweep_number)
7
C:\ProgramData\Anaconda3\lib\site-packages\allensdk\core\nwb_data_set.py in get_sweep(self, sweep_number)
112 unit = stimulus_dataset.attrs["unit"]
113 unit_str = None
--> 114 if unit.startswith('A'):
115 unit_str = "Amps"
116 elif unit.startswith('V'):
TypeError: startswith first arg must be bytes or a tuple of bytes, not str
您看到的错误是由于 unit
变量是字节文字而 allensdk
尝试使用其上有绳子。这是行不通的,但这不是你的错。这是从 Python 2 迁移到 Python 3(引入了 bytes 类型;有关详细信息,请参阅 here )时的常见错误。我猜测您正在运行 Python 3,这会导致错误,因为 allensdk 无法在此处处理字节。
要解决此问题,您必须安装 Python 2,因为您使用的是 conda,请创建一个使用 Python 2 的环境。可以按如下方式完成:
> conda create -n py2allen python=2.7
> activate py2allen
(py2allen)> pip install allensdk
(py2allen)> jupyter notebook
更多信息可参见here 。如果某些要求没有找到,您可以尝试手动安装。
我是一名优秀的程序员,十分优秀!