@@ -76,27 +76,15 @@ def python_is_compatible():
7676
7777def  install_requirements (use_pytorch_nightly ):
7878    # pip packages needed by exir. 
79-     EXIR_REQUIREMENTS  =  [
79+     TORCH_PACKAGE  =  [
8080        # Setting use_pytorch_nightly to false to test the pinned PyTorch commit. Note 
8181        # that we don't need to set any version number there because they have already 
8282        # been installed on CI before this step, so pip won't reinstall them 
8383        f"torch==2.8.0.{ NIGHTLY_VERSION }   if  use_pytorch_nightly  else  "torch" ,
84-         (
85-             f"torchvision==0.23.0.{ NIGHTLY_VERSION }  
86-             if  use_pytorch_nightly 
87-             else  "torchvision" 
88-         ),  # For testing. 
8984    ]
9085
91-     EXAMPLES_REQUIREMENTS  =  [
92-         f"torchaudio==2.8.0.{ NIGHTLY_VERSION }   if  use_pytorch_nightly  else  "torchaudio" ,
93-     ]
94- 
95-     # Assemble the list of requirements to actually install. 
96-     # TODO: Add options for reducing the number of requirements. 
97-     REQUIREMENTS_TO_INSTALL  =  EXIR_REQUIREMENTS  +  EXAMPLES_REQUIREMENTS 
98- 
99-     # Install the requirements. `--extra-index-url` tells pip to look for package 
86+     # Install the requirements for core ExecuTorch package. 
87+     # `--extra-index-url` tells pip to look for package 
10088    # versions on the provided URL if they aren't available on the default URL. 
10189    subprocess .run (
10290        [
@@ -105,10 +93,8 @@ def install_requirements(use_pytorch_nightly):
10593            "pip" ,
10694            "install" ,
10795            "-r" ,
108-             "requirements-examples.txt" ,
109-             "-r" ,
11096            "requirements-dev.txt" ,
111-             * REQUIREMENTS_TO_INSTALL ,
97+             * TORCH_PACKAGE ,
11298            "--extra-index-url" ,
11399            TORCH_NIGHTLY_URL ,
114100        ],
@@ -139,6 +125,44 @@ def install_requirements(use_pytorch_nightly):
139125    )
140126
141127
128+ def  install_optional_example_requirement (use_pytorch_nightly ):
129+     print ("Installing packages in requirements-examples.txt" )
130+     subprocess .run (
131+         [
132+             sys .executable ,
133+             "-m" ,
134+             "pip" ,
135+             "install" ,
136+             "-r" ,
137+             "requirements-examples.txt" ,
138+         ],
139+         check = True ,
140+     )
141+ 
142+     print ("Installing domain libraries" )
143+     DOMAIN_LIBRARIES  =  [
144+         (
145+             f"torchvision==0.23.0.{ NIGHTLY_VERSION }  
146+             if  use_pytorch_nightly 
147+             else  "torchvision" 
148+         ),
149+         f"torchaudio==2.8.0.{ NIGHTLY_VERSION }   if  use_pytorch_nightly  else  "torchaudio" ,
150+     ]
151+     # Then install domain libraries 
152+     subprocess .run (
153+         [
154+             sys .executable ,
155+             "-m" ,
156+             "pip" ,
157+             "install" ,
158+             * DOMAIN_LIBRARIES ,
159+             "--extra-index-url" ,
160+             TORCH_NIGHTLY_URL ,
161+         ],
162+         check = True ,
163+     )
164+ 
165+ 
142166def  main (args ):
143167    parser  =  argparse .ArgumentParser ()
144168    parser .add_argument (
0 commit comments