Unlisted Windows dependencies
### Description
EB CLI installation is broken on Windows since 3.23.0 - there are two issues:
1. The `pythonnet` package is not present in the built `awsebcli.egg-info/requires.txt`
- _This can be fixed by specifying the package in requirements.txt with an environment marker: `pythonnet ; platform_system=="Windows"`_
2. It is assumed that IIS is installed on every Windows machine (also mentioned in https://github.com/aws/aws-elastic-beanstalk-cli/issues/551#issuecomment-3030372436)
### Steps to reproduce
1. Install awsebcli on a fresh install of Windows
2. Run any `eb` command
### Observed result
```bash
$ uvx --from "awsebcli==3.23.0" eb --version
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "...\Scripts\eb.exe\__main__.py", line 4, in <module>
from ebcli.core.ebcore import main
File "...\Lib\site-packages\ebcli\core\ebcore.py", line 35, in <mod
ule>
from ebcli.controllers.migrate import MigrateController, MigrateExploreController, MigrateCleanupController
File "...\Lib\site-packages\ebcli\controllers\migrate.py", line 29,
in <module>
import clr
ModuleNotFoundError: No module named 'clr'
```
```bash
$ uvx --from "awsebcli==3.25" eb --version
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "...\Scripts\eb.exe\__main__.py", line 4, in <module>
from ebcli.core.ebcore import main
File "...\Lib\site-packages\ebcli\core\ebcore.py", line 35, in <mod
ule>
from ebcli.controllers.migrate import MigrateController, MigrateExploreController, MigrateCleanupController
File "...\Lib\site-packages\ebcli\controllers\migrate.py", line 31,
in <module>
import clr
ModuleNotFoundError: No module named 'clr'
```
```bash
$ uvx --from "awsebcli==3.25" --with "pythonnet" eb --version
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "...\Scripts\eb.exe\__main__.py", line 4, in <module>
from ebcli.core.ebcore import main
File "...\Lib\site-packages\ebcli\core\ebcore.py", line 35, in <mod
ule>
from ebcli.controllers.migrate import MigrateController, MigrateExploreController, MigrateCleanupController
File "...\Lib\site-packages\ebcli\controllers\migrate.py", line 35,
in <module>
clr.AddReference(r"C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll")
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
System.IO.FileNotFoundException: Unable to find assembly 'C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll'.
at Python.Runtime.CLRModule.AddReference(String name)
```
### Expected result
This, but for newer `awsebcli` versions:
```bash
$ uvx --from "awsebcli<3.23.0" eb --version
EB CLI 3.22.1 (Python 3.13.2 (main, Feb 12 2025, 14:49:53) [MSC v.1942 64 bit (AMD64)])
```
### Additional environment details (Ex: Windows, Mac, Amazon Linux etc)
1. OS: Windows 10.0.19045 Build 19045
2. EBCLI version: 3.25.0
关闭于 2025-09-30 2 条评论