detailed-cod-tracker/setup.py

47 lines
1.7 KiB
Python

import os
import subprocess
import venv
def deps_exists():
return os.path.exists('deps')
def create_venv():
venv.create('venv', with_pip=True)
# Create activation scripts
with open("venv.ps1", "w") as f:
f.write("venv\\Scripts\\Activate.ps1")
with open("venv.bat", "w") as f:
f.write("venv\\Scripts\\activate")
def upgrade_pip():
subprocess.check_call([os.path.join('venv', 'Scripts', 'pip'), 'install', '--no-index', '--find-links=deps', 'pip'])
def install_wheel():
subprocess.check_call([os.path.join('venv', 'Scripts', 'pip'), 'install', '--no-index', '--find-links=deps', 'wheel'])
def install_requirements_in_venv():
# Use the full path to the wheel file
wheel_path = os.path.join('src', 'cod_api-2.0.1-py3-none-any.whl')
subprocess.check_call([os.path.join('venv', 'Scripts', 'pip'), 'install', '--no-index', '--find-links=deps', wheel_path])
def install_build_dependencies():
subprocess.check_call([os.path.join('venv', 'Scripts', 'pip'), 'install', '--no-index', '--find-links=deps', 'pyinstaller'])
subprocess.check_call([os.path.join('venv', 'Scripts', 'pip'), 'uninstall', 'enum34', '-y'])
if __name__ == "__main__":
if not deps_exists():
print("Error: 'deps' directory does not exist!")
exit(1)
print("Creating virtual environment...")
create_venv()
print("Upgrading pip...")
upgrade_pip()
print("Installing wheel...")
install_wheel()
print("Installing packages in the virtual environment...")
install_requirements_in_venv() # Call the function to install the requirements
print("Installing build dependencies...")
install_build_dependencies()
print("Setup complete.")