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会出现问题

时间: 2024-10-15 16:15:20

IronPython 设置包路径的相关文章

python 设置默认的导包路径

在python中 可以通过 sys 模块添加导包时的搜寻路径, sys.path 返回的是所有默认导包路径的列表(搜索次序从下标为零开始,直到寻找到需要导入的包结束) sys.path.insert(下标,包的路径) ,这样就可以将包的路径添加到指定下标(指定次序) 如在django 项目中的settings.py配置文件中,就可以通过下面这种方式,改变导入app时的默认导包路径 # Build paths inside the project like this: os.path.join(B

YourSQLDba设置共享路径备份

YourSQLDba可以将数据库备份到网络路径(共享路径),这个也是非常灵活的一个功能,以前一直没有使用过这个功能,最近由于一个需求,于是我测试了一下YourSQLDba备份到网络路径,中间遇到了一些问题,遂整理如下. 测试环境: 操作系统:  Windows Server Standard 2012 数据库版本:  SQL SERVER 2014 1:设置共享路径权限 这一步很简单,也非常好理解.共享路径需要给某些特定用户才能访问,例如某个域账号.在此略过. 2:映射网络驱动器. 映射网络驱动

Tomcat 设置虚拟路径US现金盘平台搭建的几种方法及为什么设置虚拟路径

很多朋友US现金盘平台搭建论坛:haozbbs.com Q1446595067 都会很疑惑,既然我们都知道在Tomcat服务器上部署项目只要将项目打包,然后放到webapps目录下就可以了,为什么还需要配置虚拟路径?的确,把项目放到webapps目录下非常方便,至少在部署一个项目时,直接把项目扔到webapps目录下所进行的操作会比设置虚拟路径容易的多.但是如果考虑到长久性的操作以及多个项目呢? 设置虚拟路径的优势我总结有两点,当然这只是很普通.很常见的两点优势:第一.我们开发一个项目,在未定版

eclipse luna4.4配置beans.xml和hibernate.cfg.xml提示类的包路径信息

在配置Spring或者是Hibernate配置文件的时候,经常需要输入类的全路径名称,也就是包路径,但是在双引号是没有提示信息的,如果希望有提示功能,需要安装两个插件,第一是Spring Tool Suit(STS),第二个是Hibernate Tools. 一. 安装STS,打开eclipse中的help->Eclipse MarketPlace,输入sts搜索,得到STS for Eclipse的各个版本的插件,只需要选择你的Eclipse对应版本的插件即可. 点击 Confirm 点击 A

java 包路径

<aop:config> <aop:pointcut id="abc" expression="execution(* *..Book.save(..))"/> </aop:config> 或者 <context:component-scan base-package="com.bky.service..*" /> 都会用到* *..Book.save(..) 或com.bky.service..*

Eclipse无法设置NDK路径的解决方法

如果在Eclipse中设置NDK路径的时候遇到下面的情况(尼玛,我的NDK设置呢?): 可以参考百度经验解决:http://jingyan.baidu.com/article/4d58d5413000a09dd4e9c0fe.html 主要步骤 下载plugin,文件名为:com.android.ide.eclipse.ndk_23.0.2.1259578.jar: 将文件复制到Eclipse的plugins文件夹下面: 重启Eclipse. 搞定!

django复习--如何设置模板路径

设置模板路径:在settings.py中找到templates,添加红色部分,表示设置路径到与setting.py上级目录同级的"templates"文件夹下 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')] , 'APP_DIRS': True, 'OPTIONS': { 'context

unbuntu 14.04下NDK环境的搭建以及无法设置NDK路径的解决方案

最近在unbuntu中搭建android环境,在搭建ndk环境的时候遇到了问题,发现最后无法设置NDK的路径. 首先,还是先进行ndk环境的搭建.(已经事先搭建好了JDK环境,需要搭建JDK环境的可以参考JDK环境的搭建) 1.下载需要的NDK,笔者是unbuntu 14.04 64位的版本. 这里推荐一个android中国镜像,由于访问android官网的速度很慢,下载速度....踏得网 使用中国镜像速度就快多了. 选择我们需要的版本进行下载: 这里我下载的是最后一个. 2.直接点击提取把全部

当你的域名是数字开头时如何命名java包路径

例如:域名是1001y.net 理想的包路径是net.1001y,但由于java命名规范的问题,首字母不能为数字,这时我们只有两种选择: 1,net.$1001y 使用$符号作为首字母. 2,net._1001y 使用_符号作为首字母. 3,net.x1001y 使用任意字母作为首字母. 三种方式优缺点: 1,不推荐,因为有一些框架在解析字符串形式的类路径时处理不当,比如类路径:"net.$1001y.bean.User",解析成"net$1001y.bean.User&qu