IronPython 设置包路径
C#中添加对python文件或者对python包的引用时出现"no module .."的问题时的解决办法。

对hello.py 做一些简单的修改
添加
import syssys.path.append(<DIR>)
因为我的hashlib在该目录"D:\IronPython2.7\Lib"下,<DIR>为"D:\IronPython2.7\Lib

////
def load_config(keyword_category, config_path = r'./config'):
#load keywords under designated category from config file
###INPUT: str keyword_category -> also serves as name of config file; _
#str config_path -> location of config files
###OUTPUT: list result -> keywords loaded from config file
import os.path
config_file = os.path.join(config_path, keyword_category+'.txt')
f = read(config_file, 'r')
result = []
for line in f:
result.append(line.replace('\n','').decode('utf8'))
f.close()
return result
在C#这一端,调用代码如下(项目已经添加引用ironpython.dll, ironpython.hosting.dll, microsoft):
public string[] GetKeywords(string category, string config_path)
{ ScriptRuntime pyRunTime = Python.CreateRuntime();
dynamic pyScript = pyRunTime.UseFile(@".\python scripts\file_utils.py"); List<string> tmp = pyScript.load_config(category, config_path);
tmp.TrimExcess(); string[] result = tmp.ToArray(); return result;
}
运行时VS2013反馈的错误信息如下:
An unhandled exception of type 'IronPython.Runtime.Exceptions.ImportException' occurred in Microsoft.Dynamic.dll
Additional information: No module named os.path
很奇怪的一点是,其他python代码里引用os等标准库完全没有问题,不知道为什么惟独os.path会出现问题
IronPython 设置包路径的更多相关文章
- python 设置默认的导包路径
在python中 可以通过 sys 模块添加导包时的搜寻路径, sys.path 返回的是所有默认导包路径的列表(搜索次序从下标为零开始,直到寻找到需要导入的包结束) sys.path.insert( ...
- YourSQLDba设置共享路径备份
YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些 ...
- 详细解说Tomcat 设置虚拟路径的几种方法及为什么设置虚拟路径
说明:此次使用的是Tomcat 7.0 很多朋友都会很疑惑,既然我们都知道在Tomcat服务器上部署项目只要将项目打包,然后放到webapps目录下就可以了,为什么还需要配置虚拟路径?的确,把项目放到 ...
- InstallShield打包设置相对路径
InstallShield打包设置相对路径 在使用Installshield 打包安装文件时,添加打包文件时默认使用绝对路径,但是工程文件转移时(复制到其它位置时)编译时就会找不到安装文件,这样很不方 ...
- android adt自带eclipse无法设置ndk路径(找不到NDK配置)
分步阅读 到android sdk官网下载r23版本的adt时自带的eclipse没有设置ndk路径的地方,通过Install New Software 发现无法更新,那么如何解决这个问题呢? 方便他 ...
- skyline TerraExplorer fly设置相对路径的方法
软件环境:TerraExplorer Pro(以下简称TEP)6.5 在TEP中,对于本地(非网络)文件路径,默认都是绝对路径,在移动数据时非常麻烦,以下是本人总结出一些设置相对路径的规则 假设fly ...
- 通过扫描包路径获取包内class
public static Set<Class<?>> getClasses(ClassLoader classLoader, String pack) { Set<Cl ...
- Eclipse无法设置NDK路径的解决方法
如果在Eclipse中设置NDK路径的时候遇到下面的情况(尼玛,我的NDK设置呢?): 可以参考百度经验解决:http://jingyan.baidu.com/article/4d58d5413000 ...
- WAS下获取包路径下所有类
最近做javaweb项目的混淆工作,用到proguard,该工具混淆.jar文件比较方便,故把所有项目代码和配置文件打成jar包, 生成的jar包经过proguard处理后,再次打包(解决progua ...
随机推荐
- glibc下的内存管理
在解码过程中我们也遇到了类似的问题,第一次解码的音频比较大60s,耗了3G的内存,reset之后内存并没有退还给操作系统,第二次即使解一个10s的音频 几周前我曾提到,我被项目组分配去做了一些探究li ...
- VS 2012 C#快捷键
ctrl + J 重现智能提示 ctrl + L 删除一行ctrl + K ctrl + C 注释选中行ctrl +K ctrl +U 取消注释 ctrl +K ctrl +F 格式 ...
- urllib2
import urllib2response = urllib2.urlopen("http://www.baidu.com")print response.read() urlo ...
- mysql+mybatis 插入可递增字段库表操作
mysql本身类型介绍: BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 70 ...
- CSRF(Cross-site request forgery)跨站请求伪造
CSRF 背景与介绍 CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一.其他安全隐患,比如 ...
- how-to-install-hyper-v-on-a-virtual-machine-in-hyper-v.aspx
BEFORE STARTING IT IS IMPORTANT TO KNOW THAT THIS ENVIRONMENT IS NOT SUPPORTED BY MICROSOFT. USE IT ...
- unity, 在OnDisable里一定要将Cloth禁掉
如果在OnDisable中不将Cloth组件禁掉,则当物体再次激活时布料将变形.
- centos7通过yum安装mysql,并授权远程连接
安装: CentOS 7的yum源中没有正常安装MySQL的mysql-sever文件,需要去官网上下载(通过安装mysql的yum容器,再通过yum安装mysql) 注:安装前,需要卸载所有的mar ...
- java中的分支
条件语句: if-else选择结构: if(条件块){ 代码块1 }else{ 代码块2 } ...
- 类找不到异常 Caused by: java.lang.NoClassDefFoundError
错误原因:在部署应用的时候,服务器报错,Caused by: java.lang.ClassNotFoundException: org.quartz.impl.JobDetailImpl,某个类找不 ...