VIM:在 python 模式下使用 python3 解释器

2023-11-21

我最近切换到 vim 并将其配置为使用 Python 编程this教程。之前,我已经确保 vim 支持 python3 (vim --version 显示 +python/dyn 和 +python3/dyn) 使用this文章。

但是当执行文件时python模式,仍然选择python2.7解释器。

如何配置 vim(或 python 模式)以在 python3 解释器上运行文件?

我的操作系统是 Ubuntu 14.04 x64。

提前致谢!


尝试将其添加到您的 .vimrc 文件中

let g:pymode_python = 'python3'

我在帮助文档中找到了这个。在 vim 中输入:

:help python-mode

默认情况下,vim 编译时不支持 python3,所以当我尝试这个时,我遇到了各种错误......这告诉我它正在尝试使用 python3。但如果你的vim --version输出显示 +python3 你应该很好。

编辑:默认情况下,Ubuntu 14.04 不支持 +python3。由于限制,您无法同时支持 python2 和 python3。

所以,你必须编译支持 python3 的 vim。

这些是对我有用的步骤:从 Linux 命令行:

安装包

sudo apt-get install checkinstall mercurial python-dev python3-dev ruby ruby-dev libx11-dev libxt-dev libgtk2.0-dev libncurses5 ncurses-dev

获取最新版本的 vim

hg clone https://vim.googlecode.com/hg/ vim

配置它

cd vim
./configure \
--enable-perlinterp \
--enable-python3interp \
--enable-rubyinterp \
--enable-cscope \
--enable-gui=auto \
--enable-gtk2-check \
--enable-gnome-check \
--with-features=huge \
--enable-multibyte \
--with-x \
--with-compiledby="xorpd" \
--with-python3-config-dir=/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu \
--prefix=/opt/vim74

编译它

make

Test it

make test

安装它

sudo checkinstall

链接包

sudo ln -s /opt/vim74/bin/vim /usr/bin/vim-py3

现在,您拥有两个版本的 vim

使用普通 vim (python2) 类型vim file.py

将 vim 与 python3 支持类型一起使用vim-py3 file.py

如果你只想要python3版本,那么你只需要链接到新的vim

ln -s /opt/vim74/bin/vim /usr/local/bin/vim

如果你想切换回python2版本,请删除链接

rm /usr/local/bin/vim
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VIM:在 python 模式下使用 python3 解释器 的相关文章

  • 如何有效地从连续字符串中提取文字单词? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将没有空格的文本拆分为单词列表 https stackoverflow com questions 8870261 how to split text without spaces into li
  • 如何忽略传递给函数的意外关键字参数?

    假设我有一些功能 f def f a None print a 现在 如果我有一本字典 比如dct a Foo 我可以打电话f dct 并得到结果Foo打印 但是 假设我有一本字典dct2 a Foo b Bar 如果我打电话f dct2
  • 如何为 Intellij/PyCharm 设置 PYTHONSTARTUP 脚本

    我尝试添加PYTHONSTARTUP环境变量 我还尝试了自定义启动脚本 但更令人惊讶的是 这also没有工作 npa别名无法识别 出于一点绝望 我什至尝试添加到interpreter options 那什么也没做 实际上是什么Interpr
  • 在 Python 中绘制分类数据的三个维度

    我的数据包含三个我试图可视化的分类变量 城市 五个之一 职业 四种之一 血型 四种之一 到目前为止 我已经成功地以一种我认为易于使用的方式对数据进行了分组 import numpy as np pandas as pd Make data
  • Spyder 导入模块出错

    我正在尝试在 Spyder 中使用 sklearn 一开始 当我尝试导入它时 我收到 ImportError No module named sklearn 然后我用 PYTHONPATH 管理器设置 PATH 然后使用工具菜单中的 更新模
  • 如何从 Lua 调用 Python 函数?

    我想从我的 lua 文件运行 python 脚本 我怎样才能实现这个目标 Example Python代码 sum py file def sum from python a b return a b Lua code main lua f
  • 从主机名中提取域名

    是否有一种编程方式可以从给定的主机名查找域名 给出 gt www yahoo co jp 返回 gt yahoo co jp 有效但非常慢的方法是 拆分为 并从左侧删除 1 个组 使用 dnspython 加入并查询 SOA 记录 当返回有
  • 如何在Python中求和

    我想知道如何在 python 中表示总和而不需要像这样的循环here http docs scipy org doc scipy reference tutorial optimize html 我们有 def rosen x The Ro
  • python:是否有用于对输入流进行分块的库函数?

    我想对输入流进行分块以进行批处理 给定一个输入列表或生成器 x in 1 2 3 4 5 6 我想要一个能够返回该输入块的函数 说 如果chunk size 4 then x chunked 1 2 3 4 5 6 这是我一遍又一遍地做的事
  • PyCharm 无法识别字典值类型

    我有一个简单的代码片段 其中我将字典值设置为空列表 new dict for i in range 1 13 new dict i 现在 如果在下一行的循环内我会输入new dict i 并添加一个点 我希望 PyCharm 向我显示可用于
  • 根据给定列表中的值替换列中的值[重复]

    这个问题在这里已经有答案了 我在数据框中有一列 仅允许定义列表中存在的值 例如 给定列表 l1 1 2 5 6 如果列表中不存在列中的值 我需要将每个值替换为 0 column Expected column 1 1 5 5 2 2 3 0
  • 如何删除 pandas 数据框中的唯一行?

    我遇到了一个看似简单的问题 在 pandas 数据框中删除唯一的行 基本上 相反drop duplicates https pandas pydata org pandas docs stable generated pandas Data
  • 如何在 Pytorch 中将一维 IntTensor 转换为 int

    如何将一维 IntTensor 转换为整数 这 IntTensor int 给出错误 KeyError Variable containing 423 torch IntTensor of size 1 我所知道的最简单 最干净的方法 In
  • 如何在 Vim 中对数字和文字列进行排序

    使用 Vim 6 0 假设我正在编辑这个文件 sdfsdg dfgdfg 34 12 2 4 45 1 34 5 如何对第二列进行排序 如果您有合适的 shell 请选择您的号码并运行命令 lt gt sort n k 2 如果您要在视觉模
  • 如何测试列表中多个值的成员资格

    我想测试两个或多个值是否在列表中具有成员资格 但我得到了意外的结果 gt gt gt a b in b a foo bar a True 那么 Python 可以同时测试列表中多个值的成员资格吗 这个结果意味着什么 See also How
  • Celery:每个工作人员的 task_acks_late 的不同设置/向 celery 添加自定义选项

    这个问题是后续问题django celery 禁用一个工作者的预取 有错误吗 https stackoverflow com questions 58290045 django celery disable prefetch for one
  • Scrapy的redirect_urls异常.KeyError

    我是 Scrapy 和 Python 的新手 最近推出了我的第一个蜘蛛 有一个功能似乎以前有效 但现在它只适用于我试图废弃的一些网站 代码行是 item url direct response request meta redirect u
  • Scrapy 抓取并跟踪 href 中的链接

    我对 scrapy 很陌生 我需要从 url 的主页跟踪 href 到多个深度 再次在 href 链接内我有多个 href 我需要遵循这些href 直到到达我想要抓取的页面 我的页面的示例 html 是 初始页 div class page
  • Vim 中打开 Expandtab 选项时如何插入制表符

    When I m in insert mode and I have the expandtab https vimhelp org options txt html 27expandtab 27 option switched on pr
  • Matplotlib 中的 TwoSlopeNorm 未按预期工作

    我正在尝试创建一个具有发散颜色图的绘图 该颜色图在零附近不对称 In this https stackoverflow com a 20146989 6288682例如 DivergingNorm函数被使用并产生我想要的 然而 我使用的是更

随机推荐

  • 在 iOS 下检索电影编解码器?

    我正在尝试找到用于压缩电影的编解码器 我确定我是否需要以某种方式使用 CMFormatDescription 并获取 CMVideoCodecType 密钥 我不知道如何通过元数据数组 关于如何检索编解码器有什么想法吗 AVURLAsset
  • 并行。未利用所有核心

    我正在使用进行繁重的数学计算Math Net Numerics内部平行Parallel For block 当我在具有 4 个核心 2 2 的本地系统中运行代码时 它使用了全部 4 个核心 但是 当我在具有 8 个核心 4 2 的开发服务器
  • Firebase 按日期过滤

    My data 我正在寻找一种使用自定义日期范围来过滤日期的方法 我在网上看到了一些他们查询日期的例子 但时间戳始终是关键 这在我的情况下是不可能的 我已经尝试过下面的代码 但它不起作用 var rootRef1 firebase data
  • Google Android - 如何确定 3g 和 2g 是否已打开

    我正在为 Google Android 开发一个简单的应用程序来打开和关闭 wifi 或 3g 或 2g I see http developer android com reference android net wifi WifiMan
  • 从命令行运行 Windows 上的 Python 3 安装

    只是好奇 是否有特殊原因导致 Python 3 x 没有安装在 Windows 上以使用命令行 python3 默认运行 就像在 Mac OSX 和 Linux 上一样 有某种方法可以配置Python 使其像这样运行吗 谢谢 编辑 只是补充
  • 使用命令行linux安装android sdk

    我想通过命令行下载android sdk 我从命令中得到了这个命令https stackoverflow com a 4569792 563306我下载了 Android SDK r18 tar 文件 提取它并在工具目录中 我尝试了这个命令
  • webpack 2:来自 UglifyJs 的 ./public/bundle.js 中出现错误 意外字符“`”

    我遇到了 2 个相关问题 第一 当我跑步时npm run build the bundle js文件没有缩小 但我确实得到了bundle js map file 第二 当我跑步时webpack d我只得到一个缩小版bundle js文件 并
  • CRC 和哈希方法(MD5、SHA1)的区别

    CRC和散列方法都可以用来验证原始数据的完整性 为什么现在大多数系统都使用哈希方法 CRC 旨在防止传输错误 而不是恶意操作 因此 它不耐碰撞 特别是 CRC 码的线性特性甚至允许攻击者以保持校验值不变的方式修改消息
  • 如何使用 Android 7.1 应用程序的 ShortcutManager API 创建动态应用程序快捷方式?

    在 Android 7 1 中 开发者可以创建应用程序快捷方式 我们可以通过两种方式创建快捷方式 使用资源 XML 文件的静态快捷方式 动态快捷方式使用ShortcutManager API 那么如何使用创建快捷方式ShortcutMana
  • Vagrant 命令停止工作:在 WIndows 上找不到命令

    我一直在尝试从 Windows 上的 Homestead 文件夹中启动 vagrant 但一直显示 bash 流浪汉 找不到命令 我认为这是 Windows 上命令配置的问题 请问 对此可以采取什么措施 提前致谢 好的 我遇到了系统环境变量
  • r 中的 Shell 命令不适用于目录名称中的空格

    我正在尝试使用 shell 命令从 R 运行简单的外部应用程序 shell C Program Files SomeApp bin Release SomeApp exe C Users SomeUser R Scripts RProjec
  • 防御性编程[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 在编写代码时 您是否有意识地进行防御性编程 以确保较高的程序质量并避免您的代码被恶意利用的可能性 例如通过缓冲区溢出漏洞或代码注入 您始终应用于代码的 最低 质量水平是什么 在我的工作中
  • 以编程方式捕获 LogCat 或将其导出到文件?

    我想过滤一个logcat String myCommand logcat f sdcard output txt no filters keep writing myCommand logcat d f sdcard output txt
  • iOS 6 中的 viewDidLoad 调用过一次吗?

    小心 这个问题与最近的弃用viewDidUnload 我见过 很棒 且合乎逻辑的答案围绕这个主题 但显然事实证明他们错了 请谨慎行事 正如您所看到的 这个主题非常令人困惑 来自苹果的文档 然而系统会自动释放这些昂贵的资源 当视图未附加到窗口
  • 输入尺寸与宽度

  • 定义条件路由

    我一直在寻找类似的东西 但没有运气 我想构建一个对相同网址使用不同控制器的应用程序 基本思想是 如果用户以管理员身份登录 他使用管理员控制器 如果用户只是用户 他使用用户控制器 这只是一个例子 基本上我想要一个函数来决定控制器路由采用什么
  • 是否有用于字符串自然排序的内置函数?

    我有一个字符串列表 我想对其执行自然字母排序 例如 以下列表是自然排序的 我想要的 elm0 elm1 Elm2 elm9 elm10 Elm11 Elm12 elm13 这是上面列表的 排序 版本 我使用的sorted Elm11 Elm
  • 我在 jQuery 中看到过这个 它有什么作用
  • iPhone X 上的 TableView 和 home 指示器

    我正在使用两者UITableViewController and UITableView在一个项目中 An UITableView in an UITableViewController覆盖 iPhone X 上的主页指示器 但是一个UIT
  • VIM:在 python 模式下使用 python3 解释器

    我最近切换到 vim 并将其配置为使用 Python 编程this教程 之前 我已经确保 vim 支持 python3 vim version 显示 python dyn 和 python3 dyn 使用this文章 但是当执行文件时pyt