Closed yangrq1018 closed 9 months ago
-- get python include directory.
local pydir = try { function () return os.iorun("python3-config --includes"):trim() end }
print(pydir)
assert(pydir, "python3-config not found!")
输出:-I/usr/include/python3.11 -I/usr/include/python3.11 我在终端里执行
❯ python3-config --includes
-I/home/martin/anaconda3/envs/hikyuu/include/python3.9 -I/home/martin/anaconda3/envs/hikyuu/include/python3.9
conda环境下无法正确识别python,无法识别conda interpretor,也不是env里的interpreter
在on_load里打印
print(os.getenv('PATH'))
/usr/bin:/home/martin/anaconda3/envs/hikyuu/bin:/home/martin/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/martin/go/bin
/usr/bin
貌似是xmake加上去的,我随手写了一个空的package,里面打印也是增加了这个路径不知道为什么,导致最终识别了arch里安装的官方的python3.11。
可能需要给xmake提一个issue.
在on_load里打印
print(os.getenv('PATH'))
/usr/bin:/home/martin/anaconda3/envs/hikyuu/bin:/home/martin/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/martin/go/bin
/usr/bin
貌似是xmake加上去的,我随手写了一个空的package,里面打印也是增加了这个路径不知道为什么,导致最终识别了arch里安装的官方的python3.11。可能需要给xmake提一个issue.
xmake repo 里的 pybind11 不方便在本机交叉构建,所以我单独处理只用头文件,不用每次去安装 python。后面 hikyuu 那边会加 pyinclude 和 pylib 的选项,直接在参数里指明交叉工具链里python的位置,这样比较方便。尤其有些单板本身已经构建专门版本的python(或者直接把编译后的python放工具链相应位置),这样在用户目录下创建一个 .xmake.lua 自建一个工具链配置很方便。只要类似: xmake f -c -p cross --toolchain=pi -a aarch64 就可以了。所以不打算用公共库里的那个 pybind11。
-- get python include directory. local pydir = try { function () return os.iorun("python3-config --includes"):trim() end } print(pydir) assert(pydir, "python3-config not found!")
输出:-I/usr/include/python3.11 -I/usr/include/python3.11 我在终端里执行
❯ python3-config --includes -I/home/martin/anaconda3/envs/hikyuu/include/python3.9 -I/home/martin/anaconda3/envs/hikyuu/include/python3.9
conda环境下无法正确识别python,无法识别conda interpretor,也不是env里的interpreter
现在要在 activate 的 conda 环境里才行。我这 hikyuu 都可以正常识别。
你是win环境吗,奇怪,我这终端执行python3-config
是正常的,lua里就会path被加一个/usr/bin
,我在xmake源码里搜了以下也没找到是哪里加的。(我是conda activate env
之后才build的)
你是win环境吗,奇怪,我这终端执行
python3-config
是正常的,lua里就会path被加一个/usr/bin
,我在xmake源码里搜了以下也没找到是哪里加的。(我是conda activate env
之后才build的)
你不要用xmake库的pybind
我用的是 ubuntu。这个就先不合了,主要是本地 cross 编译的时候,以后需要自行指定 py_include, py_lib 的路径
See https://github.com/xmake-io/xmake-repo/pull/2976.
This builds fine on my Arch Linux x86, they reported problem on Windows x86 and ARM. I don't have a Windows environment on hand, but if they have made it working we can switch to the official version.