擅长:python、mysql、java
<p>Cython-0.21似乎使用.pyx文件相对于<code>__init__.py</code>文件的位置来设置模块名。在</p>
<p>用于文件布局</p>
<pre><code>jmap/__init__.py
jmap/client.pyx
</code></pre>
<p>cython编译器的输出包括</p>
^{pr2}$
<p>移动<code>__init__.py</code>的位置会更改此值。这些信息可能在Cython文档中,但我找不到。在</p>
<p>讨论</p>
<p>这对于正确获取正确的pickle类非常重要。具体来说,模块的名称概念应该与导入方式对称。这看起来很明显,但在cython中很容易被打破。在</p>
<p>很好</p>
<pre><code>>>> from jmap.client import JMapError
>>> JMapError
<class 'jmap.client.JMapError'>
</code></pre>
<p>坏的</p>
<pre><code>>>> import jmap
>>> jmap.JMapError
<class 'Client.client.JMapError'>
</code></pre>