Passing the library path as a command line argument to setup.py

拟墨画扇 提交于 2020-01-12 14:27:28

问题


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"])]

This is a part of my setup.py script. How do I pass options like include_dirs or library_dirs through command line arguments, so that path could be set up by the user?


回答1:


Think this may be what you're looking for:

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




回答2:


You can specify it in the setup.cfg file

[build_ext]
include-dir="path/to/your/dir/"



回答3:


If you're using pip install you can do this to specify library_dirs, for example:

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

or just:

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

--global-option also appears to work. See https://stackoverflow.com/a/22942120/1843329

From the docs for pip install:

--install-option Extra arguments to be supplied to the setup.py install command (use like --install-option=”--install-scripts=/usr/local/bin”). Use multiple --install-option options to pass multiple options to setup.py install. If you are using an option with a directory path, be sure to use absolute path.



来源:https://stackoverflow.com/questions/16984753/passing-the-library-path-as-a-command-line-argument-to-setup-py

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!