如何在不同的机器(路径)上处理一个项目?

时间:2018-05-08 21:02:22

标签: python github import path project

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

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

我的问题是,我如何处理这样一个事实:每次我在不同的机器上打开我的代码时,我都需要改变所有路径以适应新机器,然后在我改变时再将它们改回来在家?我开始为我工作的每个位置编写一个Run文件,以便我的sys.path命令可以正常使用该机器,但它无法解决我的其他模块从特定路径导入变量的问题,这些路径因机器而异。有没有办法解决这个问题,还是我自己如何设置项目的问题?

在一个理想的世界中,只有在我跑步之前我不得不改变一些东西,这取决于我正在研究的机器,但我不知道这是否可行。

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

很乐意接受任何建议!不管它是什么,每次在不同的机器上打开它时,它必须比在正确的文件路径中注释更好!

2 个答案:

答案 0 :(得分:0)

你应该总是使用相对路径,而不是我认为你有的静态路径。 假设您在索引文件中并且需要访问图像文件夹,则可能需要/users/username/project/images/image.png

相反,你想要../images/image.png之类的东西,这会告诉你的索引文件向后移动一个文件夹来说出项目的根目录,然后进入我们的图像文件夹等。

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

答案 1 :(得分:0)

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

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

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

如果你在unix或windows上,将以不同的方式计算。