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

Python 如何在不同的机器(路径)上处理一个项目?,python,github,import,path,project,Python,Github,Import,Path,Project,这是我第一次编写“项目”(不仅仅是在单个文件中解决练习)。许多my.py文件具有从特定路径导入的变量。我还有一个主“运行”文件,在其中导入我在其他文件中编写的内容,并作为一个整体执行项目 最近,我开始在几个不同的机器(家庭、工作、笔记本电脑等)上进行这个项目,并且刚刚开始学习如何使用GitHub 我的问题是,每次我在另一台机器上打开代码时,我都需要改变所有路径以适应新机器,然后在回家后再次更改它们,我该如何处理这个事实?我开始为我工作的每个位置编写一个运行文件,这样我的sys.path命令在该机

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

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

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

在一个理想的世界里,这一切都能正常工作,而不需要我在运行之前改变一些东西,这取决于我正在使用的机器,但我不知道这是否可能

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


我们乐意采纳任何建议!不管它是什么,它一定比每次我在不同的机器上打开它时以正确的文件路径返回注释要好

您应该始终使用相对路径,而不是静态路径,我假设您已经使用了。 假设您的文件夹位于索引文件中,并且您需要访问images文件夹,您可能有类似于
/users/username/project/images/image.png的内容

相反,您需要类似于
。/images/image.png
,这会告诉您的索引文件向后移动一个文件夹以表示项目的根目录,然后进入我们的images文件夹等


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

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

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

os.path.join('file','to','your','ressource')
如果您在unix或windows上,计算结果会有所不同