Nest模拟器:python说“;没有名为nest”的模块;
在安装Nest Neural Simulator之后,在尝试运行安装中的任何示例python文件时,我总是遇到以下错误。我尝试过重新安装Nest、Python和使用Anaconda,但没有成功 Python错误: ImportError:没有名为nest的模块Nest模拟器:python说“;没有名为nest”的模块;,python,python-2.7,anaconda,nest-simulator,Python,Python 2.7,Anaconda,Nest Simulator,在安装Nest Neural Simulator之后,在尝试运行安装中的任何示例python文件时,我总是遇到以下错误。我尝试过重新安装Nest、Python和使用Anaconda,但没有成功 Python错误: ImportError:没有名为nest的模块 建议?结果表明,我需要将安装nest的目录(Users/name/opt/nest)移动到anaconda中以下目录中的nest文件夹中。具体来说,我移动了文件夹的内容(从nest安装): /Users/name/opt/nest/lib
建议?结果表明,我需要将安装nest的目录(Users/name/opt/nest)移动到anaconda中以下目录中的nest文件夹中。具体来说,我移动了文件夹的内容(从nest安装): /Users/name/opt/nest/lib/python2.7/site-packages/nest 在这一点上: /anaconda/lib/python2.7/site-packages/nest
免责声明:我可能会因为没有复制Nest安装的所有内容而遇到问题,但是这个小黑客现在正在帮助我运行示例文件。Nest现在提供了解决该问题和类似问题的方法,方法是提供一个脚本,自动设置相关的系统变量: 如果您的操作系统找不到嵌套可执行文件或Python 找不到嵌套模块,可能未设置路径变量 正确地如果Python无法加载嵌套,也可能出现这种情况 由于缺少库或库不兼容而导致模块。在这种情况下,请 跑
source/bin/nest\u vars.sh
设置必要的环境变量。你可能想包括
这一行位于.bashrc文件中,因此环境变量
自动设置
conda create --name ENVNAME -c conda-forge nest-simulator python
然后键入:
conda activate ENVNAME
你可以走了 现在,您可以找到许多不同的安装说明,如何解决“导入错误:没有名为nest的模块”问题取决于您安装nest的方式
系统Python
找不到nest
python模块的问题通常是,nest是为特定的python版本安装的,您不能从其他版本加载它。因此,尽管许多操作系统仍然使用Python2.7,但您可能需要显式运行
$ python3
>>> import nest
此外,如果您安装了多个python3.x版本,那么仍然可以为不同的版本安装模块,并且您必须使用python3.6
或python3.8
等显式启动Python
康达包装
正如@nosratullah mohammadi已经提到的,如果您安装了康达香精,那么使用预构建包是一个非常快速的解决方案。他帖子中的链接不幸被破坏;应该可以工作,然后转到侧栏中的“安装”
$ conda create --name nest -c conda-forge python3 nest-simulator
$ conda activate nest
$ python # this should load the Python from the conda env
>>> import nest # this loads nest which is installed explicitly for that Python
来源
对于每个源代码安装,在构建NEST之前,请确保安装了Python和其他先决条件。然后,您可以创建临时生成目录(以后可以删除),并使用所需的标志进行配置
cd somewhere
mkdir nest-build
cd nest-build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/install/path -Dwith-python=3 .../sources/of/nest-simulator
将某处
、/install/path
和../sources/of/nest simulator
替换为适合您的设置的路径。(例如,从源代码与Conda环境一起编译时,一个流行的选择是使用-CMAKE_INSTALL_PREFIX=$Conda_PREFIX
,它将NEST直接安装到活动环境中。但是,NEST不需要Conda。)
根据需要添加更多的-D..
标志。正如所指出的,您在使用cmake-LA…/sources/of/nest模拟器时看到的可能标志。您可能对许多结尾带有xyz的感兴趣。检查前面提到的死亡
检查配置摘要中报告的路径和库是否有意义(您可能需要向上滚动一点才能查看)。例如,它可能看起来像这样:
--------------------------------------------------------------------------------
NEST Configuration Summary
--------------------------------------------------------------------------------
[...]
Python bindings : Yes (Python 3.6.8: /home/yourname/miniconda3/envs/nest/bin/python3)
Includes : /home/yourname/miniconda3/envs/nest/include/python3.6m
Libraries : /home/yourname/miniconda3/envs/nest/lib/libpython3.6m.so
Cython bindings : Yes (Cython 0.27.3: /home/yourname/miniconda3/envs/nest/bin/cython)
[...]
--------------------------------------------------------------------------------
[...]
PyNEST will be installed to:
/home/yourname/miniconda3/envs/nest/lib/python3.6/site-packages
--------------------------------------------------------------------------------
在本例中,CMake从我的conda环境中为Python3.6配置了所有内容
如果您对自己的设置感到满意,并且找到的所有Python版本都匹配,请运行通常的
$ make # optionally with -j$(nproc)
$ make install
$ make installcheck
如果这样做很好,您就完成了,可以删除构建目录以释放空间。祝贺
此外,如果事情变得太复杂,并且它似乎没有达到您期望的效果,那么有时候删除构建目录并开始清理是很有用的。类似的可能重复,但这个问题考虑了对$PATH的更改,包括在bash_配置文件中。($PATH已更改,但仍出现“没有名为nest的模块”错误。)如何添加路径?你能在你的个人资料中添加这个方法吗?是的,在bash_个人资料中添加了/opt/nest。没有帮助。不过,下面的答案确实如此。
$ make # optionally with -j$(nproc)
$ make install
$ make installcheck