Cython 和 PyCharm - 终端 Python 中未发生的错误
Cython and PyCharm - error that does not occur in Python from Terminal
我在导入已编译的 cython 函数时遇到一个非常奇怪的错误。我说很奇怪,因为如果我从终端使用 python 而不是 Pycharm 控制台,一切都会正常。这是错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "/Users/(me)/Analysis/analysis.py", line 8, in <module>
from cfunctions import Cpotts_energy
File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ImportError: dlopen(/Users/(me)/Analysis/cfunctions.so, 2): Symbol not found: _PyCapsule_New
Referenced from: /Users/(me)/Analysis/cfunctions.so
Expected in: flat namespace
in /Users/(me)/Analysis/cfunctions.so
C 函数只是一个简单的数组求和,但正如我所说,使用来自终端的 python 不会发生错误,所以我猜想 PyCharm 本身可能涉及一些模糊的设置,超出了我的新手知识。
Mac OS 10.11.1, Python 2.7.3
有什么线索吗?
由于文件从终端正确编译,在 Pycharm 中转到:
Run > Edit Configurations > Python Interpreter
并确保在终端 运行 和 Pycharm 中使用相同的 Python 版本。还要安装所有必要的 Python headers 和您可能需要的库。
其他 Python 安装(例如 Canopy 或 Anaconda)可能会干扰系统的 Python。如果您拥有这些发行版之一但不使用它,则应将其完全删除以避免出现问题。查看发行版的官方文档以获取卸载说明。
我在导入已编译的 cython 函数时遇到一个非常奇怪的错误。我说很奇怪,因为如果我从终端使用 python 而不是 Pycharm 控制台,一切都会正常。这是错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "/Users/(me)/Analysis/analysis.py", line 8, in <module>
from cfunctions import Cpotts_energy
File "/Applications/PyCharm CE.app/Contents/helpers/pydev/pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ImportError: dlopen(/Users/(me)/Analysis/cfunctions.so, 2): Symbol not found: _PyCapsule_New
Referenced from: /Users/(me)/Analysis/cfunctions.so
Expected in: flat namespace
in /Users/(me)/Analysis/cfunctions.so
C 函数只是一个简单的数组求和,但正如我所说,使用来自终端的 python 不会发生错误,所以我猜想 PyCharm 本身可能涉及一些模糊的设置,超出了我的新手知识。
Mac OS 10.11.1, Python 2.7.3
有什么线索吗?
由于文件从终端正确编译,在 Pycharm 中转到:
Run > Edit Configurations > Python Interpreter
并确保在终端 运行 和 Pycharm 中使用相同的 Python 版本。还要安装所有必要的 Python headers 和您可能需要的库。
其他 Python 安装(例如 Canopy 或 Anaconda)可能会干扰系统的 Python。如果您拥有这些发行版之一但不使用它,则应将其完全删除以避免出现问题。查看发行版的官方文档以获取卸载说明。