2012-10-31 37 views
3

是否有可能让python会话知道从会话启动以来已有easy_install ed的新库?将刚刚安装的软件包导入到现有的python会话中

我有一个控制台已经运行了几天,最后想出了(大)的结果。我意识到在检查结果后,我会要求另一个包(nltk)进行处理,我安装了它,但会话不能import它(新的可以)。问题是,我似乎无法保存未处理的结果(picklemarshal给我关于字符串长度的错误),我真的不想重新运行为期一周的过程。

+0

你可以写数据到一个文件,没有咸菜/元帅?你处理什么样的数据? – Junuxx

+1

http://stackoverflow.com/questions/3231011/how-to-easy-install-egg-plugin-and-load-it-without-restarting-application – zigg

+0

可能的重复它们是推文(由'tweetstream'提供) - 高度嵌套的结构,列表中的字典等,所以不能直接保存。 – mitchus

回答

2

你可以尝试使用imp模块加载新包装:

from imp import * 
file, pathname, description = find_module('nltk') 
nltk = load_module('nltk', file, pathname, ('.py', 'U', 1)) 

您可能需要指定一个路径参数为find_module如果Python不能找到新安装的模块:

file, pathname, description = find_module('nltk', '/path/to/nltk') 

用安装nltk的路径替换最后一个参数。

相关问题