mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
build: remove pyc compilation.
This commit is contained in:
parent
f1c7ae9974
commit
44116c5e52
|
|
@ -26,8 +26,7 @@ RUN python3 -m venv /opt/py3 && \
|
|||
poetry config virtualenvs.create false && \
|
||||
. /opt/py3/bin/activate && \
|
||||
if [ "$(uname -m)" = "x86_64" ]; then sed -i 's/^torch.*/torch = {version = "^2.2.1+cpu", source = "pytorch"}/g' pyproject.toml; fi && \
|
||||
poetry install && \
|
||||
python3 /opt/maxkb/app/installer/compile.py
|
||||
poetry install
|
||||
|
||||
FROM ghcr.io/1panel-dev/maxkb-python-pg:python3.11-pg15.8
|
||||
ARG DOCKER_IMAGE_TAG=dev \
|
||||
|
|
|
|||
|
|
@ -1,82 +0,0 @@
|
|||
# coding=utf-8
|
||||
"""
|
||||
@project: MaxKB
|
||||
@Author:虎
|
||||
@file: compile.py
|
||||
@date:2024/12/23 14:11
|
||||
@desc:
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
import shutil
|
||||
from py_compile import compile
|
||||
|
||||
|
||||
def clean(path_str: str):
|
||||
for parent, dir_name, filename in os.walk(path_str):
|
||||
for dir_str in dir_name:
|
||||
if dir == '__pycache__':
|
||||
fullname = os.path.join(parent, dir_str)
|
||||
try:
|
||||
shutil.rmtree(fullname)
|
||||
except Exception as e:
|
||||
print("Can't clean Folder:%s, reason:%s" % (fullname, e))
|
||||
|
||||
|
||||
def compile_pyc(path_str: str):
|
||||
for parent, dir_name, filename in os.walk(path_str):
|
||||
for cfile in filename:
|
||||
fullname = os.path.join(parent, cfile)
|
||||
if cfile[-3:] == '.py':
|
||||
try:
|
||||
if compile(fullname):
|
||||
if cfile != 'settings.py' and cfile != 'wsgi.py':
|
||||
os.remove(fullname) # 删除原文件,保留settings.py和wsgi.py
|
||||
else:
|
||||
print("Can't compile file:%s,The original file has been retained" % fullname)
|
||||
except Exception as e:
|
||||
print("Can't compile file:%s, reason:%s" % (fullname, e))
|
||||
|
||||
|
||||
def move(path_str: str):
|
||||
for parent, dir_name, filename in os.walk(path_str):
|
||||
for c_file in filename:
|
||||
fullname = os.path.join(parent, c_file)
|
||||
if c_file[-4:] == '.pyc':
|
||||
try:
|
||||
if parent.endswith('__pycache__'):
|
||||
parent_path = os.path.dirname(parent)
|
||||
shutil.move(fullname, parent_path)
|
||||
except Exception as e:
|
||||
print("Can't move file:%s, reason:%s" % (fullname, e))
|
||||
|
||||
|
||||
def replace_name(path_str: str):
|
||||
for parent, dir_name, filename in os.walk(path_str):
|
||||
for c_file in filename:
|
||||
fullname = os.path.join(parent, c_file)
|
||||
if c_file[-4:] == '.pyc':
|
||||
try:
|
||||
cfile_name = ''
|
||||
cfile_list = c_file.split('.')
|
||||
version = sys.version_info
|
||||
replace_name_str = 'cpython-' + str(version[0]) + str(version[1])
|
||||
for i in range(len(cfile_list)):
|
||||
if cfile_list[i] == replace_name_str:
|
||||
continue
|
||||
cfile_name += cfile_list[i]
|
||||
if i == len(cfile_list) - 1:
|
||||
continue
|
||||
cfile_name += '.'
|
||||
shutil.move(fullname, os.path.join(parent, cfile_name))
|
||||
except Exception as e:
|
||||
print("Can't remove file:%s, reason:%s" % (fullname, e))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
path = "/opt/maxkb/app/apps"
|
||||
clean(path)
|
||||
compile_pyc(path)
|
||||
move(path)
|
||||
replace_name(path)
|
||||
clean(path)
|
||||
Loading…
Reference in New Issue