PYTHONPATH 应该包含 ./build/* 吗?
Should PYTHONPATH include ./build/*?
运行
$ python setup.py build_ext
使用通常的 Cython 扩展配置创建一个 build
目录并将已编译的模块放入其中。
Python 解释器现在应该如何找到它们? PYTHONPATH
应该包含那些子目录吗?这对我来说似乎很笨拙。也许这是为了以不同的方式工作?
据推测,当您编写包含 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
你会看到它创建二进制文件(扩展名基于你的 OS - 在我的是 example.so
)并将它们复制到标准安装目录(也取决于你的 OS).
因此,这些二进制文件已经在您的 Python 发行版的导入路径中,并且它可以 import
它们像常规模块一样。
因此,您不需要将构建目录添加到路径中。只需安装(可能使用 --user
,或者使用 virtualenv,如果你正在开发),然后让扩展以常规方式导入。
您可以在这里找到信息https://docs.python.org/3.5/install/
构建是 python 实际安装模块之前的中间结果。在 pythonpath 中放入库的路径,例如:
<dir>/local/lib/python
如果您使用 "home" 安装技术并且 dir 是您选择的目录,例如
/home/user2
运行
$ python setup.py build_ext
使用通常的 Cython 扩展配置创建一个 build
目录并将已编译的模块放入其中。
Python 解释器现在应该如何找到它们? PYTHONPATH
应该包含那些子目录吗?这对我来说似乎很笨拙。也许这是为了以不同的方式工作?
据推测,当您编写包含 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
你会看到它创建二进制文件(扩展名基于你的 OS - 在我的是 example.so
)并将它们复制到标准安装目录(也取决于你的 OS).
因此,这些二进制文件已经在您的 Python 发行版的导入路径中,并且它可以 import
它们像常规模块一样。
因此,您不需要将构建目录添加到路径中。只需安装(可能使用 --user
,或者使用 virtualenv,如果你正在开发),然后让扩展以常规方式导入。
您可以在这里找到信息https://docs.python.org/3.5/install/
构建是 python 实际安装模块之前的中间结果。在 pythonpath 中放入库的路径,例如:
<dir>/local/lib/python
如果您使用 "home" 安装技术并且 dir 是您选择的目录,例如
/home/user2