15
modules = [Extension("MyLibrary",
                    src,
                    language = "c++",
                    extra_compile_args=["-fopenmp", "-std=c++11", "-DNOLOG4CXX"], # log4cxx is not currently used
                    extra_link_args=["-fopenmp", "-std=c++11"],
                    include_dirs=[os.path.join(os.path.expanduser("~"), (os.path.join(gtest, "include"))],
                    library_dirs=[log4cxx_library, os.path.join(os.path.expanduser("~"), gtest)],
                    libraries=["log4cxx", "gtest"])]

这是我的 setup.py 脚本的一部分。如何通过命令行参数传递 include_dirs 或 library_dirs 等选项,以便用户设置路径?

4

3 回答 3

3

您可以在 setup.cfg 文件中指定它

[build_ext]
include-dir="path/to/your/dir/"
于 2014-06-05T13:02:38.360 回答
3

认为这可能是您正在寻找的:

http://docs.python.org/2/distutils/configfile.html

于 2013-06-07T13:24:17.607 回答
1

如果您正在使用pip install,您可以这样做来指定library_dirs,例如:

pip install --install-option=build_ext --install-option="--library-dirs=/absolute/path/to/your/library/directory" YourPackage

要不就:

pip install --install-option=build_ext --install-option="-L/absolute/path/to/your/library/directory" YourPackage

--global-option也似乎工作。见https://stackoverflow.com/a/22942120/1843329

文档pip install

--install-option 提供给 setup.py install 命令的额外参数(使用类似 --install-option=”--install-scripts=/usr/local/bin”)。使用多个 --install-option 选项将多个选项传递给 setup.py 安装。如果您使用带有目录路径的选项,请务必使用绝对路径。

于 2019-11-18T11:04:56.313 回答