# RayLearn **Repository Path**: jsqf_admin/ray-learn ## Basic Information - **Project Name**: RayLearn - **Description**: 使用 Cython - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-01 - **Last Updated**: 2025-12-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 'dot_cython' 是我们要生成的动态链接库的名字 sources 里面可以包含 .pyx 文件,以及后面如果我们要调用 C/C++ 程序的话,还可以往里面加 .c / .cpp 文件 language 其实默认就是 c,如果要用 C++,就改成 c++ 就好了 include_dirs 这个就是传给 gcc 的 -I 参数 library_dirs 这个就是传给 gcc 的 -L 参数 libraries 这个就是传给 gcc 的 -l 参数 extra_compile_args 就是传给 gcc 的额外的编译参数,比方说你可以传一个 -std=c++11 extra_link_args 就是传给 gcc 的额外的链接参数(也就是生成动态链接库的时候用的) 如果你从来没见过上面几个 gcc 参数,说明你暂时还没这些需求,等你遇到了你就懂了 然后我们只需要执行下面命令就可以把 Cython 程序编译成动态链接库了。 python setup.py build_ext --inplace 成功运行完上面这句话,可以看到在当前目录多出来了 dot_cython.c 和 dot_cython.so。前者是生成的 C 程序,后者是编译好了的动态链接库。 这个so文件之间安装到 anaconda3/envs/RayLearn/lib/python3.1/site-packages 目录下的,而不是 anaconda3/envs/RayLearn/lib/python3.1/site-packages/rayLearn 下面的 BUT 直接在 setup 里面 使用 cythonize 没有指定name等 Extension 参数 ,则是 在 anaconda3/envs/RayLearn/lib/python3.1/site-packages/rayLearn 下面