mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-10-31 18:58:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env python3
 | |
| 
 | |
| import subprocess
 | |
| import argparse
 | |
| import os
 | |
| 
 | |
| 
 | |
| def main():
 | |
|     parser = argparse.ArgumentParser(
 | |
|         prog="update_dependencies.py",
 | |
|         formatter_class=argparse.RawTextHelpFormatter,
 | |
|         description='''
 | |
|         NAME: update_dependencies.py
 | |
| 
 | |
|         PURPOSE:  Installs python3 script package dependencies
 | |
| 
 | |
|         OUTPUT: List of successful and unsuccessful installs
 | |
| 
 | |
|         NOTES: Install as root
 | |
|         '''
 | |
|     )
 | |
|     parser.add_argument('--pyjwt', help='Install PyJWT which is necessary for GhostRequest', action="store_true")
 | |
| 
 | |
|     args = parser.parse_args()
 | |
| 
 | |
|     print("Installing Script Python3 Dependencies")
 | |
|     packages = ['pandas', 'plotly', 'numpy', 'cryptography', 'paramiko', 'pyarrow', 'websocket-client',
 | |
|                 'xlsxwriter', 'pyshark', 'influxdb', 'influxdb-client', 'matplotlib', 'pdfkit', 'pip-search',
 | |
|                 'pyserial',
 | |
|                 'pexpect-serial', 'scp', 'dash']
 | |
|     if args.pyjwt:
 | |
|         packages.append('pyjwt')
 | |
|     else:
 | |
|         print('Not installing PyJWT')
 | |
|     packages_installed = []
 | |
|     packages_failed = []
 | |
|     subprocess.call("pip3 uninstall jwt", shell=True)
 | |
|     subprocess.call('pip3 install --upgrade pip', shell=True)
 | |
|     for package in packages:
 | |
|         if os.name == 'nt':
 | |
|             command = "pip3 install {} ".format(package)
 | |
|         else:
 | |
|             command = "pip3 install {} >/tmp/pip3-stdout 2>/tmp/pip3-stderr".format(package)
 | |
|         res = subprocess.call(command, shell=True)
 | |
|         if res == 0:
 | |
|             print("Package {} install SUCCESS Returned Value: {} ".format(package, res))
 | |
|             packages_installed.append(package)
 | |
|         else:
 | |
|             print("Package {} install FAILED Returned Value: {} ".format(package, res))
 | |
|             print("To see errors try: pip3 install {}".format(package))
 | |
|             packages_failed.append(package)
 | |
| 
 | |
|     print("Install Complete")
 | |
|     print("Packages Installed Success: {}\n".format(packages_installed))
 | |
|     if not packages_failed:
 | |
|         return
 | |
|     print("Packages Failed (Some scripts may not need these packages): {}".format(packages_failed))
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     main()
 | 
