运行
$ python setup.py build_ext
使用通常的Cython扩展配置创建一个build
目录,并将已编译的模块放在其中。
Python解释器现在应该如何找到它们? PYTHONPATH
应该包含那些子子目录吗?这对我来说似乎很狡猾。也许这意味着以不同的方式工作?
答案 0 :(得分:1)
据推测,当你编写一个包含Cython代码的包时,your setup.py
will contain something similar to this:
setup(
ext_modules = cythonize("example.pyx")
)
(有一些变化,但这是一般的想法)。当你运行
python setup.py install
或
python setup.py install --user
你会看到它创建了二进制文件(扩展名基于你的操作系统 - 我的将是example.so
)并将它们复制到标准安装目录(也取决于你的操作系统)。
因此,这些二进制文件已经位于Python发行版的导入路径中,它们可以import
像常规模块一样。
因此,您无需将构建目录添加到路径中。只需安装(可能使用--user
,或使用virtualenv,如果您正在开发),并以常规方式导入扩展。
答案 1 :(得分:1)
您可以在https://docs.python.org/3.5/install/
找到相关信息 在python实际安装模块之前,Build是一个中间结果。在pythonpath中放入库的路径,例如:
<dir>/local/lib/python
如果你使用“home”安装技术,dir是你选择的目录,那么
/home/user2