如何将 NEST 的 Python 模块安装到特定的站点包目录中?
How to install NEST's Python module into a specific site-packages directory?
手头的具体问题是:
How could I install the nest module of a NEST simulator installation into a specific site-packages directory of for example a pyenv/virtualenv?
但是,当然欢迎更广泛地解释如何在 NEST CMake 本身期间生成和安装 Python 模块。例如,用于安装 Python 文件的 setup.py
文件在哪里,我注意到一些典型的 pip 文件 egg-info
?我想如果我知道我可以使用 pip 在我想要的任何地方安装模块。另一个附带问题是 Python 模块安装目标是否可以从 CMake 配置?
NEST 不是 Python 包,Python 模块依赖于在已知位置可用的已编译模块库。例如,当使用 Conda 风格时,您可以使用 cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
(在目标环境中时)安装 NEST,以便将所有内容安装到环境目录树中。
对于 self-built 模块,除了 .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 等时使用的相同。这基本上也使用相同的编译器。
手头的具体问题是:
How could I install the nest module of a NEST simulator installation into a specific site-packages directory of for example a pyenv/virtualenv?
但是,当然欢迎更广泛地解释如何在 NEST CMake 本身期间生成和安装 Python 模块。例如,用于安装 Python 文件的 setup.py
文件在哪里,我注意到一些典型的 pip 文件 egg-info
?我想如果我知道我可以使用 pip 在我想要的任何地方安装模块。另一个附带问题是 Python 模块安装目标是否可以从 CMake 配置?
NEST 不是 Python 包,Python 模块依赖于在已知位置可用的已编译模块库。例如,当使用 Conda 风格时,您可以使用 cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX
(在目标环境中时)安装 NEST,以便将所有内容安装到环境目录树中。
对于 self-built 模块,除了 .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 等时使用的相同。这基本上也使用相同的编译器。