build: script to create Python virtual env
This commit is contained in:
@ -131,8 +131,12 @@ def ensure_in_venv(script_file, auto_create=False):
|
||||
if not in_venv():
|
||||
if not os.path.exists(VENV_DIR):
|
||||
if not auto_create:
|
||||
print("Hint: Run the `install_deps.py` script first.")
|
||||
raise RuntimeError(f"Virtual environment not found at: {VENV_DIR}")
|
||||
print(
|
||||
"The Python virtual environment (.venv) needs to be created before you can "
|
||||
"run this script.\n"
|
||||
"Please run: scripts/setup_venv.py"
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
print(f"Creating virtual environment at {VENV_DIR}")
|
||||
venv.create(VENV_DIR, with_pip=True)
|
||||
|
||||
25
scripts/setup_venv.py
Executable file
25
scripts/setup_venv.py
Executable file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
# Deskflow -- mouse and keyboard sharing utility
|
||||
# Copyright (C) 2024 Symless Ltd.
|
||||
#
|
||||
# This package is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# found in the file LICENSE that should have accompanied this file.
|
||||
#
|
||||
# This package is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import lib.env as env
|
||||
|
||||
env.ensure_in_venv(__file__, auto_create=True)
|
||||
env.install_requirements()
|
||||
|
||||
import lib.colors as colors
|
||||
|
||||
print(colors.SUCCESS_TEXT, "Python virtual environment is ready.")
|
||||
Reference in New Issue
Block a user