Я пытаюсь запустить сценарий Python, используя GitLab CI, который создаст на моем компьютере Pandas фрейм данных и запишет его в виде файла .csv.
В качестве тестового сценария я создали следующий do_stuff_2.py файл:
import datetime
import pandas as pd
import numpy as np
current_time = datetime.datetime.now()
print(f'Hello.\nCurrent date/time is:{current_time}')
df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=list('ABCD'))
print(df)
df.to_csv('C:\\<USER_PATH>\\Desktop\\df_out.csv', index = False)
Это должно:
- напечатать текущее время
- генерирует кадр данных с 10 строками и 4 столбцами, который заполняется случайным образом значениями от 0 до 100
- печать указанного кадра данных
- сохраняет кадр данных на локальном диске
Когда выполняется конвейер CI, я не получаю ошибок, и первые 3 шага успешно выполняются: ![Pipeline execution screenshot](https://i.stack.imgur.com/budNK.png)
У меня есть .gitlab-ci. yml файл со следующими данными:
stages:
- build
build:
stage: build
image: python:3.6
script:
- echo "Running python..."
- pip install -r requirements.txt
- python do_stuff_2.py
и needs.txt file:
numpy
pandas
It похоже, у меня все настроено правильно, так как отображается время и функция print
возвращает фрейм данных. Однако файл не записывается в указанное место. Когда я запускаю скрипт локально, все работает как положено, и на моем рабочем столе сохраняется датафрейм как df_out.csv .
Я использую Python 3.6, на компьютере Windows 10.
Есть ли альтернативный способ сделать это из конвейера CI в GitLab?