python pip 指定一个库目录和一个包含目录 [英] python pip specify a library directory and an include directory
问题描述
我正在使用 pip 并尝试安装一个名为 pyodbc 的 python 模块,该模块对 unixodbc-dev、unixodbc-bin、unixodbc 等非 python 库有一些依赖性.我目前无法在系统范围内安装这些依赖项,因为我只是在玩,所以我将它们安装在非标准位置.我如何告诉 pip 在哪里寻找这些依赖项?更确切地说,如何通过包含目录 (gcc -I) 和库目录 (gcc -L -l) 的 pip 传递信息以在构建 pyodbc 扩展时使用?
I am using pip and trying to install a python module called pyodbc which has some dependencies on non-python libraries like unixodbc-dev, unixodbc-bin, unixodbc. I cannot install these dependencies system wide at the moment, as I am only playing, so I have installed them in a non-standard location. How do I tell pip where to look for these dependencies ? More exactly, how do I pass information through pip of include dirs (gcc -I) and library dirs (gcc -L -l) to be used when building the pyodbc extension ?
推荐答案
pip 有一个 --global-option
标志
pip has a --global-option
flag
您可以使用它向 build_ext
传递额外的标志.
例如,要添加 --library-dirs (-L) 标志:pip install --global-option=build_ext --global-option="-L/path/to/local" pyodbc
You can use it to pass additional flags to build_ext
.
For instance, to add a --library-dirs (-L) flag:
pip install --global-option=build_ext --global-option="-L/path/to/local" pyodbc
gcc 也支持环境变量:http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html
gcc supports also environment variables: http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html
我找不到任何 build_ext 文档,所以这里是命令行帮助
I couldn't find any build_ext documentation, so here is the command line help
Options for 'build_ext' command:
--build-lib (-b) directory for compiled extension modules
--build-temp (-t) directory for temporary files (build by-products)
--plat-name (-p) platform name to cross-compile for, if supported
(default: linux-x86_64)
--inplace (-i) ignore build-lib and put compiled extensions into the
source directory alongside your pure Python modules
--include-dirs (-I) list of directories to search for header files
(separated by ':')
--define (-D) C preprocessor macros to define
--undef (-U) C preprocessor macros to undefine
--libraries (-l) external C libraries to link with
--library-dirs (-L) directories to search for external C libraries
(separated by ':')
--rpath (-R) directories to search for shared C libraries at runtime
--link-objects (-O) extra explicit link objects to include in the link
--debug (-g) compile/link with debugging information
--force (-f) forcibly build everything (ignore file timestamps)
--compiler (-c) specify the compiler type
--swig-cpp make SWIG create C++ files (default is C)
--swig-opts list of SWIG command line options
--swig path to the SWIG executable
--user add user include, library and rpath
--help-compiler list available compilers
这篇关于python pip 指定一个库目录和一个包含目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!