import argparse | |
import subprocess | |
# Define color variables | |
yellow_text = "\033[1;33m" | |
blue_text = "\033[1;34m" | |
reset_text = "\033[0m" | |
# Parse command line arguments | |
parser = argparse.ArgumentParser() | |
parser.add_argument('--no_question', action='store_true') | |
args = parser.parse_args() | |
# Run pip freeze and capture the output | |
output = subprocess.getoutput("pip freeze") | |
# Remove lines containing "WARNING" | |
output_lines = [line for line in output.splitlines() if "WARNING" not in line] | |
# Reconstruct the output string without warning lines | |
output = "\n".join(output_lines) | |
# Check if modules are found in the output | |
if output: | |
print(f"{yellow_text}=============================================================") | |
print("Modules installed outside the virtual environment were found.") | |
print("This can cause issues. Please review the installed modules.\n") | |
print("You can uninstall all local modules with:\n") | |
print(f"{blue_text}deactivate") | |
print("pip freeze > uninstall.txt") | |
print("pip uninstall -y -r uninstall.txt") | |
print(f"{yellow_text}============================================================={reset_text}") | |
print('') | |