Python2.7+Cython0.29.6环境下,如何设置Jupyter魔法命令的language_level?
解决Cython language_level警告的正确姿势
嘿,我来帮你搞定这个问题~你完全不用去修改site-packages里的内容,那样既麻烦又容易搞乱整个conda环境,有几个更优雅且安全的办法来设置language_level:
方法一:在单个Jupyter单元格临时设置
这是最灵活的方式,只对当前单元格的Cython代码生效:
方式A:通过魔法命令参数设置
%%cython -c language_level=2 cimport numpy as np # 这里写你的Cython业务代码
方式B:通过代码注释指令设置
%%cython # cython: language_level=2 cimport numpy as np # 这里写你的Cython业务代码
方法二:全局设置(对当前conda环境所有Jupyter会话生效)
如果你不想每次写%%cython都重复设置,可以给当前环境配置全局默认值:
- 打开终端,激活你的Python2.7 conda环境:
conda activate your_env_name - 在你的用户主目录下创建一个隐藏的Cython配置文件
.cythonrc(注意文件名开头的点),在文件里写入:
之后每次在这个环境的Jupyter里使用[cython] language_level=2%%cython魔法命令时,都会自动应用这个language_level=2的设置。
重要提醒
绝对不要修改site-packages里的Cython相关文件——这些是环境自带的核心文件,后续更新Cython时会被覆盖,而且会影响这个环境下所有使用Cython的项目,风险很高。
内容的提问来源于stack exchange,提问作者J_yang
相关产品推荐
相关产品推荐

