<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https://wiki.erp.kyiv.ua/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%BE%D0%B7%D0%B3%D0%BE%D1%80%D1%82%D0%B0%D0%BD%D0%BD%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8_K2_ERP_Python_%D0%B4%D0%BB%D1%8F_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2</id>
	<title>Розгортання системи K2 ERP Python для розробників - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.erp.kyiv.ua/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%BE%D0%B7%D0%B3%D0%BE%D1%80%D1%82%D0%B0%D0%BD%D0%BD%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8_K2_ERP_Python_%D0%B4%D0%BB%D1%8F_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2"/>
	<link rel="alternate" type="text/html" href="https://wiki.erp.kyiv.ua/index.php?title=%D0%A0%D0%BE%D0%B7%D0%B3%D0%BE%D1%80%D1%82%D0%B0%D0%BD%D0%BD%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8_K2_ERP_Python_%D0%B4%D0%BB%D1%8F_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2&amp;action=history"/>
	<updated>2026-04-29T00:54:53Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.erp.kyiv.ua/index.php?title=%D0%A0%D0%BE%D0%B7%D0%B3%D0%BE%D1%80%D1%82%D0%B0%D0%BD%D0%BD%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8_K2_ERP_Python_%D0%B4%D0%BB%D1%8F_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2&amp;diff=127&amp;oldid=prev</id>
		<title>R: Розгортання K2 ERP для розробників Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.erp.kyiv.ua/index.php?title=%D0%A0%D0%BE%D0%B7%D0%B3%D0%BE%D1%80%D1%82%D0%B0%D0%BD%D0%BD%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B8_K2_ERP_Python_%D0%B4%D0%BB%D1%8F_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BD%D0%B8%D0%BA%D1%96%D0%B2&amp;diff=127&amp;oldid=prev"/>
		<updated>2026-04-28T21:20:25Z</updated>

		<summary type="html">&lt;p&gt;Розгортання K2 ERP для розробників Python&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Розгортання системи K2 ERP Python для розробників&amp;#039;&amp;#039;&amp;#039; — інструкція з локального розгортання робочого проєкту [[K2 Cloud ERP|K2 ERP]], підключення розробника, налаштування PyCharm, Git, компонентів, сервера оновлень і процесу публікації нових версій компонент.&lt;br /&gt;
&lt;br /&gt;
== Розгортання локального робочого проєкту ==&lt;br /&gt;
Розгортання локально робочого проекту K2 ERP та підключення до нього розробника&lt;br /&gt;
&lt;br /&gt;
== 1. Копіювання існуючого проекту по ftp, перший запуск ==&lt;br /&gt;
&lt;br /&gt;
* копіюєм з віддаленого сервера існуючий проект по ftp&lt;br /&gt;
&lt;br /&gt;
* переходимо в каталог /K2CloudERP і запускаємо файл first_run для налаштування параметрів віртуального середовища в поточному локальному розташуванні командою:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash first_run.sh - для Linux&lt;br /&gt;
./first_run.bat - для Windows&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* переходимо в файл налаштувань /K2CloudERP/cfg/k2/k2/k2cfg.py і змінюємо там domain_protocol з https на http&lt;br /&gt;
&lt;br /&gt;
* запускаємо додаток:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash run.sh - для Linux&lt;br /&gt;
./run.bat - для Windows&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. Встановлення, середовища розробки Pycharm та відкриття проекту: ==&lt;br /&gt;
&lt;br /&gt;
=== для Linux ===&lt;br /&gt;
&lt;br /&gt;
* встановлення через snap&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rm /etc/apt/preferences.d/nosnap.pref&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install snapd&lt;br /&gt;
sudo snap install pycharm-community --classic&lt;br /&gt;
pycharm-community&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* встановлення через завантаження архіву з сайту&lt;br /&gt;
&lt;br /&gt;
https://www.jetbrains.com/pycharm/download/?section=linux&lt;br /&gt;
&lt;br /&gt;
розпаковуємо архів, переходимо в папку bin і запускаємо&amp;lt;pre&amp;gt;&lt;br /&gt;
./pycharm.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;якщо отримали помилку встановлюємо JRE/JDK командами:&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install default-jdk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== для Windows ===&lt;br /&gt;
&lt;br /&gt;
=== Завантаження архіву ===&lt;br /&gt;
завантажуємо архів https://www.jetbrains.com/pycharm/download/?section=windows&lt;br /&gt;
&lt;br /&gt;
розпаковуємо архів, запускаємо файл встановленя і встановлюємо згідно інструкцій&lt;br /&gt;
&lt;br /&gt;
* відкриваємо середовище розробки Pycharm,&lt;br /&gt;
&lt;br /&gt;
* відкриваємо поточний завантажений проект та налаштовуємо змінне середовище для поточного проекту:&lt;br /&gt;
&lt;br /&gt;
в правому нижньому куті вибираємо Python Interpreter --&amp;gt; Add new Interpreter --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
у полі locations додаємо шлях до поточної папки venv&lt;br /&gt;
&lt;br /&gt;
у полі Base Interpreter додаємо шлях до поточного виконуваного Python файлу (Пр: ../K2CloudERP/venv/bin.python3.12.exe)&lt;br /&gt;
&lt;br /&gt;
* запускаємо проект в дебаг режимі (кнопка в правому верхньому куті)&lt;br /&gt;
&lt;br /&gt;
* запускаємо проект з консолі Pycharm командою:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bash run.sh - для Linux&lt;br /&gt;
./run.bat - для Windows&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* активація віртуального середовища вручну&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source venv/bin/activate - для Linux&lt;br /&gt;
.\venv\Scripts\activate - для Windows&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. Встановлення та налаштування git ==&lt;br /&gt;
&lt;br /&gt;
* встановлення&lt;br /&gt;
&lt;br /&gt;
=== для Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== для Windows ===&lt;br /&gt;
завантажуємо архів https://git-scm.com/downloads/win розпаковуємо архів, запускаємо файл встановленя і встановлюємо згідно інструкцій&lt;br /&gt;
&lt;br /&gt;
* налалштування git&lt;br /&gt;
&lt;br /&gt;
=== налаштування користувача ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global user.name &amp;quot;Ваше Ім&amp;#039;я&amp;quot;&lt;br /&gt;
git config --global user.email &amp;quot;ваша_електронна_пошта@example.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== авторизація з допомогою логіна і пароля ===&lt;br /&gt;
&lt;br /&gt;
=== авторизація через ssh ===&lt;br /&gt;
&lt;br /&gt;
=== Налаштування SSH ключа ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keygen -t rsa -b 4096 -C &amp;quot;ваша_електронна_пошта@example.com&amp;quot;&lt;br /&gt;
eval &amp;quot;$(ssh-agent -s)&amp;quot;&lt;br /&gt;
ssh-add ~/.ssh/id_rsa&lt;br /&gt;
cat ~/.ssh/id_rsa.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;копіюєм отриманий ключ і вставляємо у віддалений репозиторій&lt;br /&gt;
&lt;br /&gt;
== 4. підключаємо віддалений репозиторій git для певної компоненти або списку компонент ==&lt;br /&gt;
для списку компонент (скрипт auto_update)&lt;br /&gt;
 копіюєм каталог із скриптом і вставляємо в корінь проекту на рівні з виконуваним файлом app.py https://git.corp2.eu/k2erp/python/k2/base/client/auto_update&lt;br /&gt;
відкриваємо проект в консолі і переходимо в каталог auto_update&amp;lt;pre&amp;gt;&lt;br /&gt;
cd auto_update&lt;br /&gt;
&amp;lt;/pre&amp;gt;відкриваємо файл settings.py і додаємо в словник ключі з потрібними компонентами (повний список в файлі settings_example.py)&lt;br /&gt;
&lt;br /&gt;
* виконуємо в консолі команду, для клонування актуальних версій компонент і перейменовування каталогів поточних версій компонент&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
python git_cmd.py clone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== для одної компоненти вручну ===&lt;br /&gt;
&lt;br /&gt;
* переходимо в папку необхідної компоненти, наприклад k2site&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd components/k2site&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* ініціалізуєм git в поточній директорії&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git init&lt;br /&gt;
git checkout -b main (створюємо локальну гілку main і перемикаємось на неї)&lt;br /&gt;
git checkout master (переключаємось на іншу локальну гілку)&lt;br /&gt;
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git&lt;br /&gt;
git remote -v (перевірка)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* отримуємо дані з віддаленого репозиторію але не змінюємо поточну робочу гілку&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git fetch origin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* отримуємо дані з віддаленого репозиторію з віддаленого репозиторію та автоматично об&amp;#039;єднує їх з поточною локальною гілкою.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull origin main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* перевіряємо зміни локально скопійованої копії проекту з віддаленим репозиторієм&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Комміт змін на віддалений репозиторій git ==&lt;br /&gt;
&lt;br /&gt;
=== автоматично (скрипт auto_update) ===&lt;br /&gt;
відкриваємо проект в консолі і переходимо в каталог auto_update&amp;lt;pre&amp;gt;&lt;br /&gt;
cd auto_update&lt;br /&gt;
&amp;lt;/pre&amp;gt;клонуємо компоненти з віддаленого сервера&amp;lt;pre&amp;gt;&lt;br /&gt;
python git_cmd.py clone&lt;br /&gt;
&amp;lt;/pre&amp;gt;перевірка статусу&lt;br /&gt;
 python git_cmd.py status&lt;br /&gt;
коміт змін&amp;lt;pre&amp;gt;&lt;br /&gt;
python git_cmd.py commit&lt;br /&gt;
&amp;lt;/pre&amp;gt;отримуємо зміни з віддаленого сервера&amp;lt;pre&amp;gt;&lt;br /&gt;
python git_cmd.py pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;пушимо зміни на віддалений репозиторій&amp;lt;pre&amp;gt;&lt;br /&gt;
python git_cmd.py push&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== вручну ===&lt;br /&gt;
&lt;br /&gt;
* після внесених в коді змін перевіряємо їх командою&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* додаємо зміни командою&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git add .&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* комітимо зміни:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git commit -m &amp;quot;Назва комміту&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* пушимо зміни на віддалений репозиторій&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git push&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* при подальшій роботі отримуємо зміни з віддаленого репозиторію командою&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6. Налаштування завантаження компонент на сервер оновлення ==&lt;br /&gt;
&lt;br /&gt;
* відкриваємо папку builder/config&lt;br /&gt;
&lt;br /&gt;
* в файлі component-list.txt додаємо список компонент, які будемо завантажувати на сервер оновлення, кожна компонента з нового рядка&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
components/k2update&lt;br /&gt;
components/k2adm&lt;br /&gt;
components/k2site&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* в папці ignore створюємо файл з назвою компоненти і додаємо файли і папки, які не потрібно завантажувати на сервер оновлення&lt;br /&gt;
&lt;br /&gt;
( приклад:&amp;lt;pre&amp;gt;&lt;br /&gt;
k2site.txt&lt;br /&gt;
__pycache__&lt;br /&gt;
.gitignore&lt;br /&gt;
.git&lt;br /&gt;
ej2.min.js&lt;br /&gt;
&amp;lt;/pre&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* в файлі token.txt додаємо токен доступу до сервера оновлення&lt;br /&gt;
&lt;br /&gt;
== 7. Завантаження нової версії компоненти в систему оновлення ==&lt;br /&gt;
Для створення нової версії компоненти (stable або beta (testing) версії):&lt;br /&gt;
&lt;br /&gt;
* змінюємо версію в файлі setup.py в корні каталогу компоненти (рядок 5 поле version, наприклад version=2.0.4.43, version_type=&amp;#039;stable&amp;#039; (testing))&lt;br /&gt;
&lt;br /&gt;
* додаємо опис змін в в файлі history.txt в корні каталогу компоненти (1 рядок, наприклад 2.0.4.43 - додавання додаткового поля в форму реєстрації)&lt;br /&gt;
&lt;br /&gt;
* переходимо в корінь додатку, на рівні з виконуваним файлом app.py:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd k2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* завантажуємо додані в файлі builder/config/component-list.txt компоненти командою:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
python k2update_push.py&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. Оновлюємо змінені версії компонент на тестових доменах deb1-deb3 та тестуємо функціонал. ==&lt;br /&gt;
&lt;br /&gt;
== Контрольний чек-лист розгортання ==&lt;br /&gt;
&lt;br /&gt;
# Проєкт скопійовано з віддаленого сервера по FTP.&lt;br /&gt;
# Виконано &amp;lt;code&amp;gt;first_run.sh&amp;lt;/code&amp;gt; або &amp;lt;code&amp;gt;first_run.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
# У файлі &amp;lt;code&amp;gt;/K2CloudERP/cfg/k2/k2/k2cfg.py&amp;lt;/code&amp;gt; для локального запуску змінено &amp;lt;code&amp;gt;domain_protocol&amp;lt;/code&amp;gt; з &amp;lt;code&amp;gt;https&amp;lt;/code&amp;gt; на &amp;lt;code&amp;gt;http&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Проєкт запускається через &amp;lt;code&amp;gt;run.sh&amp;lt;/code&amp;gt; або &amp;lt;code&amp;gt;run.bat&amp;lt;/code&amp;gt;.&lt;br /&gt;
# У PyCharm налаштовано Python Interpreter на локальне віртуальне середовище &amp;lt;code&amp;gt;venv&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Встановлено та налаштовано Git.&lt;br /&gt;
# Підключено віддалений репозиторій потрібної компоненти або список компонент через &amp;lt;code&amp;gt;auto_update&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Перевірено &amp;lt;code&amp;gt;git status&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Налаштовано &amp;lt;code&amp;gt;builder/config/component-list.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ignore&amp;lt;/code&amp;gt; та &amp;lt;code&amp;gt;token.txt&amp;lt;/code&amp;gt; для сервера оновлень.&lt;br /&gt;
# Оновлено версію компоненти в &amp;lt;code&amp;gt;setup.py&amp;lt;/code&amp;gt; і опис змін у &amp;lt;code&amp;gt;history.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Виконано &amp;lt;code&amp;gt;python k2update_push.py&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Оновлено компоненти на тестових доменах &amp;lt;code&amp;gt;deb1&amp;lt;/code&amp;gt;–&amp;lt;code&amp;gt;deb3&amp;lt;/code&amp;gt; та перевірено функціонал.&lt;br /&gt;
&lt;br /&gt;
== Див. також ==&lt;br /&gt;
&lt;br /&gt;
* [[K2 Cloud ERP|K2 ERP]]&lt;br /&gt;
* [[K2 Cloud ERP Python для розробників|K2 ERP Python для розробників]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
* [[PyCharm]]&lt;br /&gt;
* [[Git]]&lt;br /&gt;
* [[Розгортання системи K2 Cloud ERP PHP|Розгортання системи K2 ERP PHP]]&lt;/div&gt;</summary>
		<author><name>R</name></author>
	</entry>
</feed>