【问题标题】:My Python project won't work on different IDE我的 Python 项目无法在不同的 IDE 上运行
【发布时间】:2021-08-22 17:50:47
【问题描述】:

我创建了一个 Python 项目,该项目在我的日常工作计算机上运行得非常好。我使用 Conda/Spyder 制作的。

我决定移动并对相同的项目进行一些更改,但在我的家庭 Windows 10 计算机上使用最新版本的 SublimeText,我得到了很多 Traceback 错误,NameErros。

我很好奇,所以我决定使用带有 Visual Code 的 Ubuntu。我有不同的错误。

所以我的问题如下:发生这种情况是否正常,或者我的代码是只有我的工作计算机才能理解的垃圾? 我使用 Tkinter GUI 的应用程序以及当我在 Ubuntu 上使用 VC 玩 Tkinter 时,看起来就像 Ubuntu 上的语法发生了变化。例如。在 windows 上使用起来很简单,Ubuntu 显然不会接受。

from tkinter import *
root = Tk()
root.mainloop()

在 Ubuntu 上可能是这样的

from tkinter import *
root = ttk.Tk()
root.mailoop()

我是这类主题和编程的新手,所以我有很多问题。

【问题讨论】:

  • 这与 Sublime Text、VSCode 或任何其他编辑器或 IDE 没有任何关系。它必须(很可能)与不同的 Python 版本、不同的安装包和同一包的不同版本有关。确保您的环境都相同。
  • 在您的工作计算机上,运行pip freeze > requirements.txt。然后在您的家用 Windows 和 Ubuntu 计算机上,创建新的 virtualenvs 并运行 pip install -r requirements.txt。随意修剪requirements.txt,因为它会创建一个列表所有您已安装的模块,而不仅仅是您项目中使用的模块。这就是为什么 virtualenvs 是个好主意。
  • 这里有很多我不明白的东西。你的整个追溯是什么。然后没有ttk.Tk(),那你连ttk都没有导入,那它是怎么定义的......

标签: python python-3.x tkinter ttk


【解决方案1】:

就像 MattDMo 写的那样,这个问题可能如下:

  1. 不同的 Python 包。
  2. 不同的包版本
  3. 不同的操作系统(您使用的某些软件包可能无法在 Windows 或 linux 上运行,反之亦然)。

如何解决所有这些问题?
Virtual Environments 与 requirements.txt 一起使用,并确保您使用的所有软件包对于 Linux 和 Windows 都是全局的。

  1. 也可能 - 糟糕的项目布局可能会导致 PYTHONPATH 出现问题。如果不添加更多信息,很难判断

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 2017-02-01
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    相关资源
    最近更新 更多