zigpy / zigpy-cli

Command line interface for zigpy
GNU General Public License v3.0
48 stars 12 forks source link

[BUG] Version inconsistency on installation from GitHub #30

Open Kochise opened 1 year ago

Kochise commented 1 year ago

Hi, doing that :

pip install git+https://github.com/zigpy/zigpy.git
pip install git+https://github.com/zigpy/zigpy-cli.git
pip install git+https://github.com/zigpy/zigpy-znp.git
pip install git+https://github.com/zigpy/bellows.git

Getting (with decoration for readability) :

Full installation log (quite long)

```bash - - - Installing "git+https://github.com/zigpy/zigpy.git" - - - - - - - - - - - - - - - - - - - - - - - - Collecting git+https://github.com/zigpy/zigpy.git Running command git clone --filter=blob:none --quiet https://github.com/zigpy/zigpy.git 'C:\Users\Kochise\AppData\Local\Temp\pip-req-build-tojucrt_' Cloning https://github.com/zigpy/zigpy.git to c:\users\Kochise\appdata\local\temp\pip-req-build-tojucrt_ Resolved https://github.com/zigpy/zigpy.git to commit 85d148f9dc3b5719cf6919ea850eb5f86b288c5e Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting attrs Downloading attrs-22.2.0-py3-none-any.whl (60 kB) -------------------------------------- 60.0/60.0 kB 245.2 kB/s eta 0:00:00 Collecting aiohttp Downloading aiohttp-3.8.4-cp310-cp310-win_amd64.whl (319 kB) -------------------------------------- 319.8/319.8 kB 1.5 MB/s eta 0:00:00 Collecting aiosqlite>=0.16.0 Downloading aiosqlite-0.18.0-py3-none-any.whl (15 kB) Collecting async_timeout Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB) Collecting crccheck Downloading crccheck-1.3.0-py3-none-any.whl (21 kB) Collecting cryptography Downloading cryptography-40.0.1-cp36-abi3-win_amd64.whl (2.6 MB) ---------------------------------------- 2.6/2.6 MB 2.6 MB/s eta 0:00:00 Collecting voluptuous Downloading voluptuous-0.13.1-py3-none-any.whl (29 kB) Collecting pyserial-asyncio!=0.5 Downloading pyserial_asyncio-0.6-py3-none-any.whl (7.6 kB) Collecting pyserial Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB) ---------------------------------------- 90.6/90.6 kB 5.4 MB/s eta 0:00:00 Collecting frozenlist>=1.1.1 Downloading frozenlist-1.3.3-cp310-cp310-win_amd64.whl (33 kB) Collecting yarl<2.0,>=1.0 Downloading yarl-1.8.2-cp310-cp310-win_amd64.whl (56 kB) ---------------------------------------- 56.1/56.1 kB 1.5 MB/s eta 0:00:00 Collecting charset-normalizer<4.0,>=2.0 Downloading charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl (97 kB) ---------------------------------------- 97.1/97.1 kB 2.8 MB/s eta 0:00:00 Collecting multidict<7.0,>=4.5 Downloading multidict-6.0.4-cp310-cp310-win_amd64.whl (28 kB) Collecting aiosignal>=1.1.2 Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB) Collecting cffi>=1.12 Downloading cffi-1.15.1-cp310-cp310-win_amd64.whl (179 kB) -------------------------------------- 179.1/179.1 kB 1.1 MB/s eta 0:00:00 Collecting pycparser Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB) -------------------------------------- 118.7/118.7 kB 1.4 MB/s eta 0:00:00 Collecting idna>=2.0 Downloading idna-3.4-py3-none-any.whl (61 kB) -------------------------------------- 61.5/61.5 kB 814.3 kB/s eta 0:00:00 Building wheels for collected packages: zigpy Building wheel for zigpy (setup.py): started Building wheel for zigpy (setup.py): finished with status 'done' Created wheel for zigpy: filename=zigpy-0.54.0.dev0-py3-none-any.whl size=171689 sha256=dfb8a2ad0a09697ed9b8b94505eaa933a462135528c2d9d3744cce78edbe6a78 Stored in directory: C:\Users\Kochise\AppData\Local\Temp\pip-ephem-wheel-cache-94e01dkg\wheels\1e\40\8f\81b14cd173c853dbab24dda1b3b810bdac8c4d047abf1d93e3 Successfully built zigpy Installing collected packages: voluptuous, pyserial, crccheck, pyserial-asyncio, pycparser, multidict, idna, frozenlist, charset-normalizer, attrs, async_timeout, aiosqlite, yarl, cffi, aiosignal, cryptography, aiohttp, zigpy Successfully installed aiohttp-3.8.4 aiosignal-1.3.1 aiosqlite-0.18.0 async_timeout-4.0.2 attrs-22.2.0 cffi-1.15.1 charset-normalizer-3.1.0 crccheck-1.3.0 cryptography-40.0.1 frozenlist-1.3.3 idna-3.4 multidict-6.0.4 pycparser-2.21 pyserial-3.5 pyserial-asyncio-0.6 voluptuous-0.13.1 yarl-1.8.2 zigpy-0.54.0.dev0 - - - Installing "git+https://github.com/zigpy/zigpy-cli.git" - - - - - - - - - - - - - - - - - - - - - - - - Collecting git+https://github.com/zigpy/zigpy-cli.git Running command git clone --filter=blob:none --quiet https://github.com/zigpy/zigpy-cli.git 'C:\Users\Kochise\AppData\Local\Temp\pip-req-build-vv1i5g4c' Cloning https://github.com/zigpy/zigpy-cli.git to c:\users\Kochise\appdata\local\temp\pip-req-build-vv1i5g4c Resolved https://github.com/zigpy/zigpy-cli.git to commit 125b537aa7ca0d76c8af3bf071803de7e3056a5c Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Collecting zigpy-znp>=0.8.0 Downloading zigpy_znp-0.10.0-py3-none-any.whl (122 kB) ------------------------------------ 122.3/122.3 kB 421.4 kB/s eta 0:00:00 Collecting coloredlogs Downloading coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB) ---------------------------------------- 46.0/46.0 kB 2.2 MB/s eta 0:00:00 Collecting click Downloading click-8.1.3-py3-none-any.whl (96 kB) ---------------------------------------- 96.6/96.6 kB 2.8 MB/s eta 0:00:00 Collecting bellows>=0.34.3 Downloading bellows-0.35.0-py3-none-any.whl (218 kB) -------------------------------------- 218.2/218.2 kB 1.7 MB/s eta 0:00:00 Collecting scapy Downloading scapy-2.5.0.tar.gz (1.3 MB) ---------------------------------------- 1.3/1.3 MB 2.4 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting zigpy-deconz>=0.18.0 Downloading zigpy_deconz-0.19.2-py3-none-any.whl (31 kB) Collecting zigpy>=0.53.0 Downloading zigpy-0.54.0-py3-none-any.whl (171 kB) -------------------------------------- 171.6/171.6 kB 2.6 MB/s eta 0:00:00 Collecting pure-pcapy3==1.0.1 Downloading pure-pcapy3-1.0.1.tar.gz (5.9 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting click-log>=0.2.1 Downloading click_log-0.4.0-py2.py3-none-any.whl (4.3 kB) Collecting jsonschema Downloading jsonschema-4.17.3-py3-none-any.whl (90 kB) ---------------------------------------- 90.4/90.4 kB 1.7 MB/s eta 0:00:00 Collecting colorama Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting humanfriendly>=9.1 Downloading humanfriendly-10.0-py2.py3-none-any.whl (86 kB) ---------------------------------------- 86.8/86.8 kB 1.2 MB/s eta 0:00:00 Collecting pyreadline3 Downloading pyreadline3-3.4.1-py3-none-any.whl (95 kB) ---------------------------------------- 95.2/95.2 kB 1.1 MB/s eta 0:00:00 Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 Downloading pyrsistent-0.19.3-cp310-cp310-win_amd64.whl (62 kB) -------------------------------------- 62.7/62.7 kB 846.4 kB/s eta 0:00:00 Building wheels for collected packages: zigpy-cli, pure-pcapy3, scapy Building wheel for zigpy-cli (pyproject.toml): started Building wheel for zigpy-cli (pyproject.toml): finished with status 'done' Created wheel for zigpy-cli: filename=zigpy_cli-0.0.0-py3-none-any.whl size=25453 sha256=079a6373dd5698ec07e461baac561221b61f11ab46238aca9a0e6cf64722f92e Stored in directory: C:\Users\Kochise\AppData\Local\Temp\pip-ephem-wheel-cache-zorva2sh\wheels\a0\0f\1e\7d823b6342d74dc11cc963ff1ea3d2a0ef1468c483d716a0d7 Building wheel for pure-pcapy3 (setup.py): started Building wheel for pure-pcapy3 (setup.py): finished with status 'done' Created wheel for pure-pcapy3: filename=pure_pcapy3-1.0.1-py3-none-any.whl size=5034 sha256=d79fcb33819034041af5e54f7d0289fd7201f10158584c25d6e18fbf352099cb Stored in directory: C:\Users\Kochise\AppData\Local\Temp\pip-ephem-wheel-cache-zorva2sh\wheels\85\cd\07\df2f1523280f09843135c8ac9229b269883fc1df331b784eeb Building wheel for scapy (setup.py): started Building wheel for scapy (setup.py): finished with status 'done' Created wheel for scapy: filename=scapy-2.5.0-py2.py3-none-any.whl size=1444341 sha256=ff73714e03155601ef3bc0b913a4291505f9312e8edbc0c3a767a4d6bbf0a365 Stored in directory: C:\Users\Kochise\AppData\Local\Temp\pip-ephem-wheel-cache-zorva2sh\wheels\82\b7\03\8344d8cf6695624746311bc0d389e9d05535ca83c35f90241d Successfully built zigpy-cli pure-pcapy3 scapy Installing collected packages: pyreadline3, scapy, pyrsistent, pure-pcapy3, humanfriendly, colorama, jsonschema, coloredlogs, click, zigpy, click-log, zigpy-znp, zigpy-deconz, bellows, zigpy-cli Attempting uninstall: zigpy Found existing installation: zigpy 0.54.0.dev0 Uninstalling zigpy-0.54.0.dev0: Successfully uninstalled zigpy-0.54.0.dev0 Successfully installed bellows-0.35.0 click-8.1.3 click-log-0.4.0 colorama-0.4.6 coloredlogs-15.0.1 humanfriendly-10.0 jsonschema-4.17.3 pure-pcapy3-1.0.1 pyreadline3-3.4.1 pyrsistent-0.19.3 scapy-2.5.0 zigpy-0.54.0 zigpy-cli-0.0.0 zigpy-deconz-0.19.2 zigpy-znp-0.10.0 - - - Installing "git+https://github.com/zigpy/zigpy-znp.git" - - - - - - - - - - - - - - - - - - - - - - - - Collecting git+https://github.com/zigpy/zigpy-znp.git Running command git clone --filter=blob:none --quiet https://github.com/zigpy/zigpy-znp.git 'C:\Users\Kochise\AppData\Local\Temp\pip-req-build-4v8ntk6n' Cloning https://github.com/zigpy/zigpy-znp.git to c:\users\Kochise\appdata\local\temp\pip-req-build-4v8ntk6n Resolved https://github.com/zigpy/zigpy-znp.git to commit 3f6ba1b1b6aa57ab6b41413de5a9551fefd72e25 Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Installing backend dependencies: started Installing backend dependencies: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: zigpy-znp Building wheel for zigpy-znp (pyproject.toml): started Building wheel for zigpy-znp (pyproject.toml): finished with status 'done' Created wheel for zigpy-znp: filename=zigpy_znp-0.0.0-py3-none-any.whl size=122347 sha256=04c26cdc37ef5e4236ef1501e655f528532db7f2c560b3077cf9df89c9912df4 Stored in directory: C:\Users\Kochise\AppData\Local\Temp\pip-ephem-wheel-cache-amxhvrme\wheels\f7\e2\e9\a248a35764afca6a68e384613c3caeca3027651d29895eaf03 Successfully built zigpy-znp Installing collected packages: zigpy-znp Attempting uninstall: zigpy-znp Found existing installation: zigpy-znp 0.10.0 Uninstalling zigpy-znp-0.10.0: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. zigpy-cli 0.0.0 requires zigpy-znp>=0.8.0, but you have zigpy-znp 0.0.0 which is incompatible. Successfully uninstalled zigpy-znp-0.10.0 Successfully installed zigpy-znp-0.0.0 - - - Installing "git+https://github.com/zigpy/bellows.git" - - - - - - - - - - - - - - - - - - - - - - - - Collecting git+https://github.com/zigpy/bellows.git Running command git clone --filter=blob:none --quiet https://github.com/zigpy/bellows.git 'C:\Users\Kochise\AppData\Local\Temp\pip-req-build-uaorbawi' Cloning https://github.com/zigpy/bellows.git to c:\users\Kochise\appdata\local\temp\pip-req-build-uaorbawi Resolved https://github.com/zigpy/bellows.git to commit 8ad0c59d04f049a537232149da6af6fb20580ee4 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Building wheels for collected packages: bellows Building wheel for bellows (setup.py): started Building wheel for bellows (setup.py): finished with status 'done' Created wheel for bellows: filename=bellows-0.35.0.dev0-py3-none-any.whl size=218282 sha256=10c1ef5d2951ae4f7c1adb2fca3df188579fa8dcc8cb36561b758f547cb4d45b Stored in directory: C:\Users\Kochise\AppData\Local\Temp\pip-ephem-wheel-cache-k6m8low3\wheels\e1\73\27\a2a5475650b15cc9062237436a971e10ee76bad785106323ee Successfully built bellows Installing collected packages: bellows Attempting uninstall: bellows Found existing installation: bellows 0.35.0 Uninstalling bellows-0.35.0: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. zigpy-cli 0.0.0 requires zigpy-znp>=0.8.0, but you have zigpy-znp 0.0.0 which is incompatible. Successfully uninstalled bellows-0.35.0 Successfully installed bellows-0.35.0.dev0 ```


Why the following "errors" :

 - - - Installing "git+https://github.com/zigpy/zigpy.git" - - - - - - - - - - - - - - - - - - - - - - - -

  Created wheel for zigpy: filename=zigpy-0.54.0.dev0-py3-none-any.whl size=171689 sha256=dfb8a2ad0a09697ed9b8b94505eaa933a462135528c2d9d3744cce78edbe6a78

Ok so far...

 - - - Installing "git+https://github.com/zigpy/zigpy-cli.git" - - - - - - - - - - - - - - - - - - - - - - - -

Collecting zigpy>=0.53.0
  Downloading zigpy-0.54.0-py3-none-any.whl (171 kB)
     -------------------------------------- 171.6/171.6 kB 2.6 MB/s eta 0:00:00

  Created wheel for zigpy-cli: filename=zigpy_cli-0.0.0-py3-none-any.whl size=25453 sha256=079a6373dd5698ec07e461baac561221b61f11ab46238aca9a0e6cf64722f92e

Installing collected packages: zigpy
  Attempting uninstall: zigpy
    Found existing installation: zigpy 0.54.0.dev0
    Uninstalling zigpy-0.54.0.dev0:
      Successfully uninstalled zigpy-0.54.0.dev0
Successfully installed zigpy-0.54.0

Why 0.0.0 for zigpy-cli ? Why not at least 0.0.0.dev0 ?

Why replacing zigpy-0.54.0.dev0 with zigpy-0.54.0 ?

 - - - Installing "git+https://github.com/zigpy/zigpy-znp.git" - - - - - - - - - - - - - - - - - - - - - - - -

  Created wheel for zigpy-znp: filename=zigpy_znp-0.0.0-py3-none-any.whl size=122347 sha256=04c26cdc37ef5e4236ef1501e655f528532db7f2c560b3077cf9df89c9912df4

Successfully built zigpy-znp
Installing collected packages: zigpy-znp
  Attempting uninstall: zigpy-znp
    Found existing installation: zigpy-znp 0.10.0
    Uninstalling zigpy-znp-0.10.0:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
zigpy-cli 0.0.0 requires zigpy-znp>=0.8.0, but you have zigpy-znp 0.0.0 which is incompatible.
      Successfully uninstalled zigpy-znp-0.10.0
Successfully installed zigpy-znp-0.0.0

Why 0.0.0 for zigpy-znp ? Why not at least 0.0.0.dev0 ?

Why uninstalling zigpy-znp-0.10.0 then immediately installing zigpy-znp-0.0.0 instead ?

Why this :

zigpy-cli 0.0.0 requires zigpy-znp>=0.8.0, but you have zigpy-znp 0.0.0 which is incompatible.

Let's continue...

 - - - Installing "git+https://github.com/zigpy/bellows.git" - - - - - - - - - - - - - - - - - - - - - - - -

  Created wheel for bellows: filename=bellows-0.35.0.dev0-py3-none-any.whl size=218282 sha256=10c1ef5d2951ae4f7c1adb2fca3df188579fa8dcc8cb36561b758f547cb4d45b

Successfully built bellows
Installing collected packages: bellows
  Attempting uninstall: bellows
    Found existing installation: bellows 0.35.0
    Uninstalling bellows-0.35.0:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
zigpy-cli 0.0.0 requires zigpy-znp>=0.8.0, but you have zigpy-znp 0.0.0 which is incompatible.
      Successfully uninstalled bellows-0.35.0
Successfully installed bellows-0.35.0.dev0

Why this again :

zigpy-cli 0.0.0 requires zigpy-znp>=0.8.0, but you have zigpy-znp 0.0.0 which is incompatible.

Doing a pip freeze gives :

bellows @ git+https://github.com/zigpy/bellows.git@8ad0c59d04f049a537232149da6af6fb20580ee4
zigpy==0.54.0
zigpy-cli @ git+https://github.com/zigpy/zigpy-cli.git@125b537aa7ca0d76c8af3bf071803de7e3056a5c
zigpy-deconz==0.19.2
zigpy-znp @ git+https://github.com/zigpy/zigpy-znp.git@3f6ba1b1b6aa57ab6b41413de5a9551fefd72e25

Any reason for the 0.0.0 version for zigpy-cli and zigpy-znp ?

Where if the 0.54.0.dev0 for zigpy ?

Where if the 0.35.0.dev0 for bellows ?

Pretty strange...

Regards.

puddly commented 1 year ago

pip install zigpy-cli is the only documented, expected, and tested method to install zigpy-cli. Installing the dependencies manually straight from their Git repositories isn't tested.

Kochise commented 1 year ago

Thank you for your feedback.

Why some works and some don't ?

puddly commented 1 year ago

Some repositories inject the version only with a GitHub actions stage on release. Others keep it in the codebase itself.

Kochise commented 1 year ago

Ok, personally I wouldn't trust the automatic number scheme of a GitHub Actions, but hey, why not.

Will see with "Pypi" released version considered "stable", hope these are not too old.

puddly commented 1 year ago

The version numbers aren't automatically chosen, I pick them when I click the "Publish release" button 😄.

Kochise commented 1 year ago

pip install zigpy-cli is the only documented, expected, and tested method to install zigpy-cli. Installing the dependencies manually straight from their Git repositories isn't tested.

Ok for zigpy-cli but for zigpy-znp it is open to "dev" installation.

Maybe a consistent way of installation might be set across all modules, maybe allowing "dev" installation though.