Python Visual Studio 代码重构失败

Python refactoring fails in Visual Studio Code

我最近切换到 Visual Studio 代码进行 Python 编程。下面是我在 Visual Studio 代码设置中的 Python 配置:

"python.pythonPath": "/Users/hzhang/.virtualenvs/env-2.7/bin/python",
"python.autoComplete.extraPaths": [
    "/Users/hzhang/Work/xxx/shared_modules"
],

基本上,我只是配置 Python 解释器并添加一个额外的共享模块路径。

当我尝试重构一个变量名时,它抛出这个 错误 ,它说 rope 没有安装,即使我安装它也不起作用。根据我的理解,重构变量是Visual Studio代码的一个特性,它不应该依赖于任何特定的语言。

我该如何解决这个问题?

我安装 rope 后,重构仍然无法正常工作。它弹出这个错误:

I am on Python 2.7
Visual Studio Code: Version 1.19.3 (1.19.3)
Rope version: 0.10.7

对于 JavaScript 和 TypeScript 以外的语言,变量重命名不是本机 Visual Studio 代码功能。

它特定于每种语言,功能由特定于每种语言的单独扩展提供。您安装的 Python 扩展使用 Rope 库执行 refactoring/renaming 的 python 变量等。所以是的,您需要通过关闭 Install rope 按钮来安装它。

如果您没有 Install rope 按钮,您可以转到 cmd 并输入 pip install rope。这也应该可以完成工作。

如果安装后仍然无法使用,请在 Python 扩展 GitHub 存储库中提交问题。

根据提交的错误更新:Anaconda 用户需要安装 Anaconda 包,而不是 Visual Studio 代码提供的常规 pip 默认安装。

这对我有用:

conda search rope # The latest right now is 0.11.0
conda install --name mypy27env rope

在 Ubuntu 上,miniconda: I had this issue using the "VSCode Python Plugin", when selecting "conda" install for rope.

我使用 "conda activate env" 通过终端更改了活动环境。然后使用 "conda list",我看到 Build Row 的值为 py_0,版本为 0.16。 我选择了 conda remove rope 然后,使用 pip(绳索版本 0.17.0)安装:pip install rope "conda list" 现在给了我 pypi_0 作为构建行中的值 重启VSCode

总结一下,其中一个有帮助:
- 在活跃的 conda 环境中用 pip 重新安装 rope
- 重新启动 VSCode