【问题标题】:How to deal with working on one project on different machines (paths)?如何处理在不同机器(路径)上处理一个项目?
【发布时间】:2018-05-08 21:02:22
【问题描述】:

这是我第一次编写“项目”(不仅仅是在单个文件中解决练习)。我的许多 .py 文件都有从特定路径导入的变量。我还有一个主“运行”文件,我在其中导入我在其他文件中编写的内容并作为一个整体执行项目。

最近我开始在几台不同的机器(家庭、工作、笔记本电脑等)上开展这个项目,并且刚刚开始学习如何使用 GitHub。

我的问题是,我该如何处理这样一个事实,即每次我在不同的机器上打开我的代码时,我都需要四处更改所有路径以适应新机器,然后在我再次更改它们时'我家?我开始为我工作的每个位置编写一个运行文件,以便我的 sys.path 命令可以在该机器上运行,但它不能解决我的其他模块从不同机器的特定路径导入变量的问题。有没有办法解决这个问题,还是我如何设置项目本身的问题?

在理想的世界中,这一切都可以正常工作,而无需我在运行前进行更改,具体取决于我正在使用的机器,但我不知道这是否可能。

我目前的想法是是否有一些我不知道的命令可以在我的主 Run.py 文件中的 .py 文件中设置变量 - 这样我就可以为每台机器创建一个运行文件。

我们很乐意采纳任何建议!不管是什么,总比我每次在不同的机器上打开时都在正确的文件路径中注释要好!

【问题讨论】:

    标签: python github import path project


    【解决方案1】:

    您应该始终使用相对路径,而不是我假设您拥有的静态路径。 假设你在一个索引文件中并且你需要访问 images 文件夹,你可能有类似/users/username/project/images/image.png

    相反,您想要../images/image.png 之类的东西,这会告诉您的索引文件后退一个文件夹以表示项目的根目录,然后继续进入我们的图像文件夹等。

    相对路径意味着您从文件所在的位置创建一个路径,而不是从头开始创建整个路径。

    【讨论】:

      【解决方案2】:

      您需要识别项目中硬编码的所有设置,并使其与当前工作区相关。这是一个常见的问题。

      此外,如果您使用的是 python,请确保您没有硬编码字符串中文件的路径,而是使用正确的系统 api:

      os.path.join('file','to','your','ressource')
      

      如果您使用的是 unix 或 windows,则计算方式会有所不同。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-11
        • 1970-01-01
        • 1970-01-01
        • 2014-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多