Как бороться с работой над одним проектом на разных машинах (путях)? - PullRequest
0 голосов
/ 09 мая 2018

Я впервые пишу код проекта (нечто большее, чем решение упражнений в отдельных файлах). Ряд моих файлов .py имеют переменные, импортированные по определенному пути. У меня также есть основной файл «Выполнить», в который я импортирую вещи, которые я написал в других файлах, и выполняю проект в целом.

Недавно я начал работать над этим проектом на нескольких разных машинах (дома, на работе, ноутбуке и т. Д.) И только начал изучать, как использовать GitHub.

У меня вопрос: как мне справиться с тем фактом, что каждый раз, когда я открываю свой код на другой машине, мне нужно обходить все пути, чтобы соответствовать новой машине, а затем снова менять их, когда я ' м дома? Я начал писать файл Run для каждого местоположения, в котором я работаю, чтобы мои команды sys.path были в порядке с этим компьютером, но это не решает проблему импорта моими другими модулями переменных из определенных путей, которые различны для разных компьютеров. Есть ли способ обойти это или проблема в том, как я настраиваю сам проект?

В идеальном мире все бы работало без необходимости что-либо менять перед тем, как я запускаюсь, в зависимости от машины, на которой я работаю, но я не знаю, возможно ли это.

Мои нынешние мысли о том, есть ли какая-то команда, о которой я не знаю, которая может устанавливать переменные внутри файла .py из моего основного файла Run.py - таким образом, я могу просто иметь файл запуска для каждой машины.

Любые предложения с удовольствием принимаются! Что бы это ни было, это должно быть лучше, чем комментировать правильный путь к файлу каждый раз, когда я открываю его на другом компьютере!

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вам необходимо определить все ваши настройки, которые жестко заданы в вашем проекте, и сделать их относительно вашего текущего рабочего пространства. Это общая проблема.

Также, если вы используете python, убедитесь, что вы не жестко задаете путь к файлам в строке, а вместо этого используете правильный системный API:

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

, который будет вычислен по-другому, если вы используете Unix или Windows.

0 голосов
/ 09 мая 2018

Вы должны всегда использовать относительные пути, а не статические, которые, я полагаю, у вас есть. Предполагая, что вы находитесь в индексном файле и вам нужен доступ к папке с изображениями, у вас, вероятно, есть что-то вроде /users/username/project/images/image.png

Вместо этого вы хотите что-то вроде ../images/image.png, это говорит о том, что ваш индексный файл должен перейти назад на одну папку, чтобы сказать корень проекта, а затем перейти в нашу папку изображений и т. Д.

Относительные пути означают, что вы создаете путь, из которого существует ваш файл, а не полный путь с нуля.

...