手头的具体问题是:
如何将 NEST 模拟器安装的嵌套模块安装到特定的站点包目录中,例如 pyenv/virtualenv?
但是,当然欢迎对 NEST CMake 本身期间如何生成和安装 Python 模块进行更广泛的解释。例如,setup.py
用于安装 Python 文件的文件在哪里,我注意到一些egg-info
典型的 pip 文件?我想如果我知道我可以使用 pip 在任何我想要的地方安装模块。另一个问题是 Python 模块安装目标是否可以从 CMake 配置?
手头的具体问题是:
如何将 NEST 模拟器安装的嵌套模块安装到特定的站点包目录中,例如 pyenv/virtualenv?
但是,当然欢迎对 NEST CMake 本身期间如何生成和安装 Python 模块进行更广泛的解释。例如,setup.py
用于安装 Python 文件的文件在哪里,我注意到一些egg-info
典型的 pip 文件?我想如果我知道我可以使用 pip 在任何我想要的地方安装模块。另一个问题是 Python 模块安装目标是否可以从 CMake 配置?
NEST 不是 Python 包,Python 模块依赖于已知位置中可用的已编译模块库。例如,当使用 Conda 风格时,您可以安装 NEST cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
(在目标环境中时)以将所有内容安装到环境目录树中。
对于自建模块,同样的要求也成立,除了.py
文件位于相应 Python 查找其模块的目录中(例如.../site-packages
)之外,创建的.so
文件需要位于动态加载器可以找到它们的位置。
尝试将.so
文件复制到 NEST 安装目录path/to/installed/lib/nest/
中,并将 python 文件复制到site-packages
您的环境中。pynest
它本身也有一个setup.py
你可以在你的构建目录中找到的pynest/setup.py
. 然而,由于上述二进制依赖关系,python 包并不意味着单独分发。
请注意,您必须注意一致性。您不能将针对一个 Python 版本编译的模块与另一个 Python 等一起使用。通常,依赖项是一件棘手的事情,在您的模块中使用例如 libGSL 也应该与编译 NEST 等时使用的相同。这归结为基本上也使用相同的编译器。