首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将Cython导入IPython笔记本并编译它

如何将Cython导入IPython笔记本并编译它
EN

Stack Overflow用户
提问于 2015-02-15 14:45:54
回答 1查看 3.3K关注 0票数 4

我正在使用IPython和Cython。

我正在外部文本编辑器中编辑模块中的Cython函数。

我希望导入这些模块并在IPython中使用它们,但在导入时使用IPython编译它们。

这样做的语法是什么?我不希望我的代码在我的IPython笔记本中。

EN

回答 1

Stack Overflow用户

发布于 2015-02-15 15:42:11

这是一个不寻常的工作流程,但它应该是有可能的一些工作。首先,要使import能够在您的IPython会话中实现,它们必须出现在sys.path中。您可以像这样在列表中插入新文件夹:

您要添加的路径是将编译后的Cython模块放置在其中的文件夹。无论您使用哪种策略,编译(.pyd) Cython模块的路径至少都需要在sys.path上才能导入。

其次,您需要一种编译Cython模块的方法。如果您正在使用推荐的方法,您将有一个setup.py文件和您的cython源代码以及python setup.py build_ext来生成已编译的.pyd文件。每次重新编译IPython模块时,都必须重新启动您的Cython。

除了setup.py,还有其他的选择。其中之一是my 易囊藻,它是一个命令行工具,可以将.pyx源代码编译成.pyd,而不需要setup.py。这个工具仅由我使用/测试,所以它可能无法工作,ymmv等。您仍然需要重新启动您的IPython内核,每次您重新编译您的Cython模块。(我在这里提到这件事,只是因为它是我的一个婴儿。)

更好的方法是使用pyximport,因为它将按需编译已经重新加载支持

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# This is inside your IPython Notebook
import pyximport
pyximport.install(reload_support=True)
import my_cython_module

您可以用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
reload(my_cython_module)

您可以尝试使用某种逻辑来使其变得聪明,这样只需简单地重新运行笔记本就可以重新加载或导入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Speculative code: I have not tried this!
# This is inside your IPython Notebook
import pyximport
pyximport.install(reload_support=True)
if 'my_cython_module' in dir(): # Maybe sys.modules is better?
    reload(my_cython_module)
else:
    import my_cython_module

您可能需要花一点时间才能找到一些有用的东西,但是对于您的用例来说,某些东西应该是可行的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28532139

复制
相关文章
NLTK之朴素贝叶斯分类器
本文介绍了NLTK中的朴素贝叶斯分类器,并说明了其在分词任务中的使用。首先,作者指出了使用朴素贝叶斯分类器进行分词任务中的问题,并给出了一个例子。最后,作者说明了如何使用词频来表示字典元素,并实验了不同的参数对结果的影响。
用户1148830
2018/01/03
6890
NLTK-007:分类文本(文档情感分类)
之前我们看了几个例子,那里文档已经按类别标记。使用这些语料库,我们可以建立分类器。自动给新文档添加适当的类别标签。 首先我们构造一个标记了相应类别的文档清单,对于这个例子,我选择了nltk中的电影评论语料库,将每个评论分为正面或者负面。
李玺
2021/11/22
4000
NLTK-007:分类文本(文档情感分类)
NLTK-005:分类和标注词汇
之前大家也肯定学过名字、动词、形容词、副词之间的差异,这些词类不是闲置的,而是对许多语言处理任务都有用的分类,正如我们将看到的,这些分类源于对文本中词的分布的简单的分析。
李玺
2021/11/22
6130
NLTK-005:分类和标注词汇
NLTK-006:分类文本(性别鉴定)
分类是为给定的输入选择正确的类标签的任务,在基本的分类任务中,每个输入被认为是与所有其它输入隔离的,并且标签集是预先定义的。下面是分类任务的一些例子:
李玺
2021/11/22
5620
NLTK-006:分类文本(性别鉴定)
NLTK-008:分类文本(有监督分类的更多例子)
句子分割可以看作是一个标点符号的分类任务:每当我们遇到一个可能会结束的句子的符号,我们必须决定他是否终止了当前句子。
李玺
2021/11/22
5650
解决 无法解析名称 NaiveBayes.fit。/i get Undefined variable “NaiveBayes“ or class “NaiveBayes.fit“.
应用朴素贝叶斯分类器时候,发现报错无法解析名称 NaiveBayes.fit 这是因为 你想用NaiveBayes。适用于MATLAB R2018b。 根据NaiveBayes的R2014b发布说明,fit被fitNaiveBayes取代: 同时根据R2018a发布说明fitNaiveBayes被fitcnb取代。 因此,使用fitcnb即可。 将NaiveBayes.fit 改为 fitcnb 就好啦!!! 参考链接: 链接: 点击这里.
全栈程序员站长
2022/11/15
5310
【NLP】Python NLTK获取文本语料和词汇资源
NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开数据集、模型上提供了全面、易用的接口,涵盖了分词、词性标注(Part-Of-Speech tag, POS-tag)、命名实体识别(Named Entity Recognition, NER)、句法分析(Syntactic Parse)等各项 NLP 领域的功能。本文主要介绍NLTK(Natural language Toolkit)的几种语料库,以及内置模块下函数的基本操作,诸如双连词、停用词、词频统计、构造自己的语料库等等,这些都是非常实用的。
机器学习AI算法工程
2019/10/28
2.1K0
【NLP】Python NLTK获取文本语料和词汇资源
垃圾邮件检测.第1部分
作者 | Md Sohel Mahmood 编译 | VK 来源 | Towards Data Science
磐创AI
2021/11/10
1.1K0
C# 中的“智能枚举”:如何在枚举中增加行为
在这个示例中,我们定义了一个名为 Weekday 的枚举,其中包括每个星期的日子。然后在 Main 方法中,我们将 today 变量设置为 Tuesday,并使用 ToString() 方法将其转换为字符串。
郑子铭
2023/08/30
3190
C# 中的“智能枚举”:如何在枚举中增加行为
详解如何在Laravel中增加自定义全局函数
http://www.php.cn/php-weizijiaocheng-383928.html
全栈程序员站长
2021/10/27
2.9K0
使用 FastAI 和即时频率变换进行音频分类
目前深度学习模型能处理许多不同类型的问题,对于一些教程或框架用图像分类举例是一种流行的做法,常常作为类似“hello, world” 那样的引例。FastAI 是一个构建在 PyTorch 之上的高级库,用这个库进行图像分类非常容易,其中有一个仅用四行代码就可训练精准模型的例子。随着v1版的发布,该版本中带有一个data_block的API,它允许用户灵活地简化数据加载过程。今年夏天我参加了Kaggle举办的Freesound General-Purpose Audio Tagging 竞赛,后来我决定调整其中一些代码,利用fastai的便利做音频分类。本文将简要介绍如何用Python处理音频文件,然后给出创建频谱图像(spectrogram images)的一些背景知识,示范一下如何在事先不生成图像的情况下使用预训练图像模型。
AI研习社
2019/05/15
1.8K0
NLTK FreqDist
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/15
2970
NLTK FreqDist
使用python+机器学习方法进行情感分析(详细步骤)
不是有词典匹配的方法了吗?怎么还搞多个机器学习方法。 因为词典方法和机器学习方法各有千秋。 机器学习的方法精确度更高,因为词典匹配会由于语义表达的丰富性而出现很大误差,而机器学习方法不会。而且它可使用的场景更多样。无论是主客观分类还是正负面情感分类,机器学习都可以完成任务。而无需像词典匹配那样要深入到词语、句子、语法这些层面。 而词典方法适用的语料范围更广,无论是手机、电脑这些商品,还是书评、影评这些语料,都可以适用。但机器学习则极度依赖语料,把手机语料训练出来的的分类器拿去给书评分类,那是注定要失败的。
机器学习AI算法工程
2018/03/14
6K0
使用python+机器学习方法进行情感分析(详细步骤)
如何在 Discourse 中批量移动主题到不同的分类中
例如,我们需要将下面的主题批量从当前的分类中移动到另外一个叫做 数据库 的分类中。
HoneyMoose
2021/07/23
1.2K0
如何在 Discourse 中批量移动主题到不同的分类中
如何在GitLab中的个人资料里增加SSH密钥
2、提示‘输入保存密钥的文件(//.ssh/id_rsa):’,按回车 3、提示输入密码显示“输入密码(空密码)”。 输入密码后按回车 4、提示再次输入密码,输入密码后按回车。 5、SSH密钥已生成
超级小可爱
2023/02/23
1.4K0
Discourse 如何在首页中显示 Box 的子分类
如果你不选择上门的选项的话,下面的列表是不会显示的,你可以通过这个自行确定如何显示子项目。
HoneyMoose
2020/05/30
2.1K0
Discourse 如何在首页中显示 Box 的子分类
机器学习中如何选择分类器
在机器学习中,分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。分类器依据学习的方式可以分为非监督学习和监督学习。 非监督学习顾名思义指的是给予分类器学习的样本但没有相对应类别标签,主要是寻找未标记数据中的隐藏结构。 监督学习通过标记的训练数据推断出分类函数,分类函数可以用来将新样本映射到对应的标签。在监督学习方式中,每个训练样本包括训练样本的特征和相对应的标签。监督学习的流程包括确定训练样本的类型、收集训练样本集、确定学习函数的输入特征表示、确定学习函数的结构和对应的学习算法、完成整
企鹅号小编
2018/01/10
2.3K0
如何在BI中增加“路线地图”并进行数据分析?
随着客户的需求越来越“百变”,最近在做大屏设计的葡萄陷入了困境。 近期客户提出的需求是想在BI工具中增加 “路线地图”展示功能并进行数据分析。 不仅如此,这个“路线地图”还要兼具实用的功能与美观的动效,典型的“既要又要”系列。但是这对于我们的设计师葡萄来说,难度就有些大了。 静态图片展示不困难,可要让这地图动起来,确实有一些难度。 所以我们就将该问题拆成两部分,来解决这个问题。首先,我们需要一个路线地图工具。
葡萄城控件
2022/09/21
1.4K0
如何在BI中增加“路线地图”并进行数据分析?
python中的gensim入门
在自然语言处理(NLP)和信息检索领域中,文本向量化是一个重要的任务。文本向量化可以将文本数据转换为数值向量,以便于计算机进行处理和分析。Gensim是一个强大的Python库,专门用于处理文本数据和实现文本向量化。 本篇文章将带你入门使用Gensim库,介绍如何在Python中对文本进行向量化,并用其实现一些基本的文本相关任务。
大盘鸡拌面
2023/10/25
6070
点击加载更多

相似问题

带有EventMachine服务的任务

20

EventMachine Rails的多类实例

13

带有eventmachine的mongoid和mongomapper

23

如何使用带有实例索引的模块实例?

10

模块中的实例变量?

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文