Python解释器将模块名称设为public static Func<MainList, T> CreateSelect<T>(string fields)
{
var parameter = Expression.Parameter(typeof(MainList), "n");
var bindings = fields.Split(',')
.Select(name => name.Trim())
.Select(name => Expression.Bind(
typeof(T).GetProperty(name),
Expression.Property(parameter, name)
));
var newT = Expression.MemberInit(Expression.New(typeof(T)), bindings);
var lambda = Expression.Lambda<Func<MainList, T>>(newT, parameter);
return lambda.Compile();
}
而不是cx-Oracle
。我无法导入cx_Oracle。它说没有这样的模块。但是在IDLE中输入时cx_Oracle
可以正常工作。
答案 0 :(得分:0)
这是PyPI和setuptools的已知问题。 PyPI接受带有下划线的名称,但setuptools不接受。它通过将下划线变为破折号来调整所有名称。以下是一些有助于解释这种情况的链接:
问题: https://mail.python.org/pipermail/distutils-sig/2011-August/017935.html
答案: https://mail.python.org/pipermail/distutils-sig/2011-August/017936.html
我刚试过PyCharm并且导入了cx_Oracle就好了。在包列表中它确实显示为cx-Oracle - 但这不应该阻止您使用它!