使用他人Miniconda环境安装pycocotools时,如何修改GCC Include路径?
解决pycocotools编译时的GCC Include路径权限问题
以下是几种可行的解决方法,按操作便捷性排序:
1. 用conda安装预编译版本(最省心)
直接绕开编译流程,安装预编译好的pycocotools包:
conda install -c conda-forge pycocotools
全程无需处理编译参数,完全规避权限相关的编译报错。
2. 创建自己的虚拟环境(彻底解决权限隐患)
基于现有Miniconda创建属于你的独立虚拟环境,所有路径均在你的权限管控范围内:
# 创建与原环境Python版本一致的虚拟环境(避免兼容问题) conda create -n my_custom_env python=3.8 # 激活虚拟环境 conda activate my_custom_env # 正常安装pycocotools pip install pycocotools
后续所有依赖安装都在这个环境内操作,不会再碰到权限类的编译问题。
3. 手动指定有权限的Include路径编译
如果必须在原环境安装,先将原环境的Python头文件复制到你有权限访问的目录(前提是你能读取原路径的头文件):
# 复制Python头文件到个人目录 cp -r /home/users/wec.shao/miniconda3/include/python3.8 ~/my_python_includes
然后通过环境变量强制GCC优先搜索这个自定义路径:
export C_INCLUDE_PATH=~/my_python_includes:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=~/my_python_includes:$CPLUS_INCLUDE_PATH # 执行安装命令 pip install pycocotools
或者直接给pip传递编译参数指定Include路径:
pip install pycocotools --global-option=build_ext --global-option="-I~/my_python_includes"
内容的提问来源于stack exchange,提问作者Jayn
相关产品推荐
相关产品推荐

