boostorg / boostorg/python

./b2 install --prefix=$VIRTUALENV does not honour `include/pythonX.Ym`

未關閉
#100 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
C++
星號
537
分支
223
平均合併
11 小時 22 分鐘
30 天內合併 PR
2

描述

[PEP 3149](https://www.python.org/dev/peps/pep-3149/) introduced optional flags to the Python installation (see also [this](http://stackoverflow.com/questions/16675865/difference-between-python3-and-python3m-executables) SO question), that are propagated to the virtualenv.

Specifically, the virtualenv include dir is built as `.virtualenvs/.../include/python3.6m` instead of `.virtualenvs/.../include/python3.6` when certain conditions are met. However, running

```
./bootstrap.sh --prefix=$VIRTUAL_ENV --with-libraries=python --with-python=$VIRTUAL_ENV/bin/python
./b2 install --prefix=$VIRTUAL_ENV
```

will call the compiler as
```g++ ... -I".../include/python3.6" ... "libs/python/src/object_operators.cpp"```, causing Python headers to not be found.

IMO Boost.python should honor the default installation within a virtualenv.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

Reproduce the issue with bootstrap.sh and b2 using the provided virtualenv commands, then inspect the include path passed while compiling libs/python/src/object_operators.cpp. Compare the virtualenv's include/python3.6m directory with the compiler's include/python3.6 path; done means Boost.Python finds the installed Python headers during b2 install.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
cpp, python
領域
build-system
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。