allow requirements to point to urls
This commit is contained in:
		
							parent
							
								
									f10163e7d2
								
							
						
					
					
						commit
						5d0d9c2890
					
				|  | @ -35,18 +35,25 @@ def update(yes = False, force = False): | ||||||
|             if not os.path.exists(path): |             if not os.path.exists(path): | ||||||
|                 path = os.path.join(os.path.dirname(__file__), req_file) |                 path = os.path.join(os.path.dirname(__file__), req_file) | ||||||
|             with open(path) as requirementsfile: |             with open(path) as requirementsfile: | ||||||
|                 requirements = pkg_resources.parse_requirements(requirementsfile) |                 for line in requirementsfile: | ||||||
|                 for requirement in requirements: |                     if line.startswith('https://'): | ||||||
|                     requirement = str(requirement) |                         # extract name and version from url | ||||||
|                     try: |                         url = line.split(';')[0] | ||||||
|                         pkg_resources.require(requirement) |                         wheel = line.split('/')[-1] | ||||||
|                     except pkg_resources.ResolutionError: |                         name, version, _ = wheel.split('-',2) | ||||||
|                         if not yes: |                         line = f'{name}=={version}' | ||||||
|                             import traceback |                     requirements = pkg_resources.parse_requirements(line) | ||||||
|                             traceback.print_exc() |                     for requirement in requirements: | ||||||
|                             input(f'Requirement {requirement} is not satisfied, press enter to install it') |                         requirement = str(requirement) | ||||||
|                         update_command() |                         try: | ||||||
|                         return |                             pkg_resources.require(requirement) | ||||||
|  |                         except pkg_resources.ResolutionError: | ||||||
|  |                             if not yes: | ||||||
|  |                                 import traceback | ||||||
|  |                                 traceback.print_exc() | ||||||
|  |                                 input(f'Requirement {requirement} is not satisfied, press enter to install it') | ||||||
|  |                             update_command() | ||||||
|  |                             return | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue