有两个与导入相关的问题可能是也可能不是cython相关的?
我有以下简化文件来重新创建问题.所有文件都在同一目录中.该.pyx文件已经成功地编入*.so,*.pyc和*.c文件.
setup.py:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("*.pyx"),
)
Run Code Online (Sandbox Code Playgroud)
cy1.pyx :( cython)
cdef int timestwo(int x):
return x * 2
Run Code Online (Sandbox Code Playgroud)
cy1.pxd:
cdef int timestwo(int x)
Run Code Online (Sandbox Code Playgroud)
cy3.py :(普通蟒蛇)
def tripleit(x):
return x*3
Run Code Online (Sandbox Code Playgroud)
go.py:
from cy1 import timestwo
print str(timestwo(5))
Run Code Online (Sandbox Code Playgroud)
给我错误:ImportError:无法导入名称timestwo
如果我改为:
go.py:
import pyximport; pyximport.install()
import cy1
print str(cy1.timestwo(5))
Run Code Online (Sandbox Code Playgroud)
它告诉我:AttributeError:'module'对象没有属性'timestwo'
如果我一起取出cython并尝试使用来自cy3.py的普通python调用:
go.py:
import cy3
print str(cy3.tripeleit(3))
Run Code Online (Sandbox Code Playgroud)
我得到:AttributeError:'module'对象没有属性'tripeleit'
如果我这样做,最后:
go.py:
from cy3 import tripleit
print str(tripeleit(3))
Run Code Online (Sandbox Code Playgroud)
我明白了:
NameError: name 'tripeleit' is …Run Code Online (Sandbox Code Playgroud) 我目前正在使用ActiveResource创建客户端和服务器应用程序以进行Web服务.客户端有一个长字符串(:history),需要服务器完成转换过程.
在这里,客户端调用我的对象上的post方法,该方法扩展了ActiveResource :: Base
active_resource.post(:convert, {:history => hh, :format => format})
Run Code Online (Sandbox Code Playgroud)
这行错误抱怨URI太长:
ActiveResource :: ClientError失败.响应代码= 414.响应消息= Request-URI太大.
我有什么其他选择来发送"大"数据?可能在上面的hh字符串中查找2000个字符的数据.
谢谢!