Problém s python pip package [No matching distribution for cryptography>=2.1.4]

Dobrý deň. Snažím sa rozbehať ESP-IDF pod unixom (FreeBSD), ale nejde teraz o to samotné IDF. Je tam nejaký problém s python závislosťou.

Vyhadzuje to chybu:

Kód: [Vybrat]
ERROR: Could not find a version that satisfies the requirement cryptography>=2.1.4 (from versions: none)
ERROR: No matching distribution found for cryptography>=2.1.4

Keď som si vypísal verziu toho package tak tam je:

Kód: [Vybrat]
Name: cryptography
Version: 35.0.0

Viac na: tomto obrázku

Viete mi prosím poradiť ako tento problém vyriešiť? Vďaka.


Okabe

Z nejakeho duvodu to nemuze najit instalovanou verzi. Asi to muzes vyresit tak, ze tu podminku v requirements.txt proste zakomentujes a bude se ignorovat.

Z nejakeho duvodu to nemuze najit instalovanou verzi. Asi to muzes vyresit tak, ze tu podminku v requirements.txt proste zakomentujes a bude se ignorovat.

Diky. Inak nakoniec som si všimol, že za tou hláškou je "All Done" tak som pustil export.fish a vyzerá to tak, že install.fish spravil to čo mal (aj napriek chybe s pip packages). Ale teraz som narazil na ďalší problém v export.fish a zase je to problém s pythonom (a možno s nejakými env variables), ale skúsim ho najprv vyriešiť sám. Asi sa tam bije viac verzií pythonu. Lebo to odomňa pýta balíček click ktorý som už dávno nainštaloval.
S tým rozbehávaním ESP-IDF bývajú občas problémy na každej platforme (najmä keď je v systéme viac verzií pythonu). Aj vo Windowse som to rozbehával na 2x, . Už ma čaká len malý krôčik k tomu aby som si ESP-IDF rozbehal pod FreeBSD ak sa mi to podarí, tak už Windows vôbec nebudem potrebovať a budem ho mať len na hry.

Wow funguje to! minimálne tá softwarová časť.

Ešte musím odtestovať flashovanie. A tiež budem musieť v nejakom IDE rozchodiť intelli sense pre STL a libky z toolchain-u xtensa.

Používáš virtuální prostředí, než něco instaluješ? Nebo to instaluješ do globální instalace Pythonu? Pokud to druhé, tak bych se nedivil, že budeš narážet na chyby. Můžou se prát různé verze balíku jako závislost jiných balíků.


Používáš virtuální prostředí, než něco instaluješ? Nebo to instaluješ do globální instalace Pythonu? Pokud to druhé, tak bych se nedivil, že budeš narážet na chyby. Můžou se prát různé verze balíku jako závislost jiných balíků.

Ahoj hej už som na to prišiel že som tie pip packages inštaloval do nesprávneho Pythonu. Ale už mi to všetko funguje a kupodivu sa s tým robí ešte lepšie ako vo Windows.

Používáš virtuální prostředí, než něco instaluješ? Nebo to instaluješ do globální instalace Pythonu? Pokud to druhé, tak bych se nedivil, že budeš narážet na chyby. Můžou se prát různé verze balíku jako závislost jiných balíků.

Ahoj hej už som na to prišiel že som tie pip packages inštaloval do nesprávneho Pythonu. Ale už mi to všetko funguje a kupodivu sa s tým robí ešte lepšie ako vo Windows.

Já tedy nevím, ale Python na Windows je snad už dost v pohodě. Žádný aliasy python vs python3, instalace pipu separátně jako v Ubuntu apod. Stáhnu nainstaluju různé verze Pythonu a v konzoli pak voláš pomocí py.exe. třeba:

```
py -3.8 -m venv .venv
    ^^^ verze pythonu
.venv\Scripts\Activate

pip install ...
```

Virtuální prostředí ti doporučuji vžd pro každý projekt nebo mít aspoň jeden per adresář. Já mám třeba takový globální pro rychlé nahození, kde mám instalovaný celý scientific stack: numpy, matplotlib, pandas atd. A když mám nějaký aktivovaný, vždy vím na jaké verzi Pythonu jsem a kam se to instaluje. Když se něco rozbije, jde to klidně celé pryč.

Jako chápu, že jsi nás chtěl na Unixově zaměřeném webu potěšit ale  ... ;)
« Poslední změna: 20. 11. 2021, 20:41:41 od uetoyo »

Já tedy nevím, ale Python na Windows je snad už dost v pohodě. Žádný aliasy python vs python3, instalace pipu separátně jako v Ubuntu apod. Stáhnu nainstaluju různé verze Pythonu a v konzoli pak voláš pomocí py.exe. třeba:

```
py -3.8 -m venv .venv
    ^^^ verze pythonu
.venv\Scripts\Activate

pip install ...
```

Jako chápu, že jsi nás chtěl na Unixově zaměřeném webu potěšit ale  ... ;)

Vo Windows som musel tiež riešiť podobné problémy, tá klikacia inštalačka pre Windows mi nefungovala, bili sa tam nejaké cesty a podobne. Ale nakoniec som to aj vo Windows musel rozbiehať podľa návodu pre linux / macOS: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/#step-2-get-esp-idf  ´

Ešte doplním pár tipov keby si to niekto chcel rozbehnúť pod FreeBSD. Rozbieha sa to rovnako ako vo Windows či Linuxe https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/#step-2-get-esp-idf, ale navyše treba mať nainštalovaný toolchain xtensa:

Kód: [Vybrat]
sudo pkg install xtensa-esp32-elf
a esptool:

Kód: [Vybrat]
sudo pkg install py38-esptool
do /boot/loader.conf treba pridať tieto kernel moduly, kôli pripojeniu usb ktorým emulujeme COM port:

Kód: [Vybrat]
uftdi_load="YES"
uchcom_load="YES"
uslcom_load="YES"
uarduno_load="YES"

najdôležitejší je ten modul uslcom

A potom reštartovať systém.

Pre kontrolu. Pri boote (alebo po zadaní príkazu
Kód: [Vybrat]
dmseg -a)

by ste vo výpise mali vidieť toto:

Kód: [Vybrat]
ugen0.7: <Silicon Labs CP2102 USB to UART Bridge Controller> at usbus0
uslcom0 on uhub1
uslcom0: <CP2102 USB to UART Bridge Controller> on usbus0

alebo po zadaní lsusb toto:

Kód: [Vybrat]
Bus /dev/usb Device /dev/ugen0.7: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
samozrejme závisí na ktorom USBčku to máte pripojené.

všetko funguje rovnako ako v iných OS. A flashovať to treba takto:

Kód: [Vybrat]
idf -p /dev/cuaU0 flash namiesto 0 tam môže byť aj iné číslo ak to neni 0, treba sa pozrieť do (ls /dev/)

a monitor sa spúšťa podobne:

Kód: [Vybrat]
idf -p /dev/cuaU0 monitor
Teda namiesto COM1 COM2 .. sa tam dáva súbor devicu: /dev/cuaU0 /dev/cuaU1 atď.

A funguje to výborne.

Neviem či je to len pocit, ale to flashovanie na mňa pôsobí rýchlejšie, ako vo Windows.

Já tedy nevím, ale Python na Windows je snad už dost v pohodě. Žádný aliasy python vs python3, instalace pipu separátně jako v Ubuntu apod. Stáhnu nainstaluju různé verze Pythonu a v konzoli pak voláš pomocí py.exe. třeba:

```
py -3.8 -m venv .venv
    ^^^ verze pythonu
.venv\Scripts\Activate

pip install ...
```

Jako chápu, že jsi nás chtěl na Unixově zaměřeném webu potěšit ale  ... ;)

Vo Windows som musel tiež riešiť podobné problémy, tá klikacia inštalačka pre Windows mi nefungovala, bili sa tam nejaké cesty a podobne. Ale nakoniec som to aj vo Windows musel rozbiehať podľa návodu pre linux / macOS: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/#step-2-get-esp-idf  ´

Tak to se vám něco opravdu nedařilo. Instalace na Windows je většinou zcela bez problémů a to dokonce různé verze Pythonu. Pokud ale mluvíte o nějaké specifické knihovně a ne o Pythonu jako takovém, tak to vám rozporovat nemůžu. Pokud jsou nějaké části kompilované, tak pro různé verze Pythonu musí být kompilovány se setjným kompilátorem jako ta verze Pythonu. tam může být opravdu problém. Ale situace dnes a před lety je na Windows dnes jako nebe a dudy.
« Poslední změna: 20. 11. 2021, 21:05:59 od uetoyo »

Tak to se vám něco opravdu nedařilo. Instalace na Windows je většinou zcela bez problémů a to dokonce různé verze Pythonu. Pokud ale mluvíte o nějaké specifické knihovně a ne o Pythonu jako takovém, tak to vám rozporovat nemůžu. Pokud jsou nějaké části kompilované, tak pro různé verze Pythonu musí být kompilovány se setjným kompilátorem jako ta verze Pythonu. tam může být opravdu problém. Ale situace dnes a před lety je na Windows dnes jako nebe a dudy.

No ono to tak býva, že niekto pripraví pekný klikací inštalátor, ktorý má veci zjednodušovať a nakoniec nastane situácia, s ktorou autor inštalačky nepočítal a prinesie to viac problémov ako úžitku. Preto som to nakoniec inštaloval manuálne. Ale uznávam, že možno je chyba aj v mojom Windowse. Schválne som sa rebootol do Windows a dal som si vyhľadať všetky výskyty python.exe, čo mám aktuálne v systéme a našiel som ich 25! Okrem toho, ja mám windows dosť poupravovaný na svoj obraz, kôli vývojovým nástrojom a rôznym toolom zo sveta unixu a C++, aplikácie inštalujem cez chocolatey package manager a kopu vecí mám naskriptovaných cez powershell.

Každopádne vo Windowse som musel inštalovať drivery na "CP210x USB to UART Bridge VCP Drivers". A takéto veci som vo FreeBSD nemusel riešiť, systém ich mal už v základe, tam som ich len popridával do loader.conf a hotovo.

Tým nechcem povedať že Windows je lepší alebo horší. Každý OS má svoje výhody aj nevýhody. Ale nedá sa povedať, že by bol unix zložitejší (ako tu často čítam), len má inú filozofiu s ktorou sa treba zžiť. Ja som vo svete unixu len čerstvý nováčik (používam ho mesiac), ale chcel by som sa ho naučiť poriadne do hĺbky.



Ešte doplním jednu vec. k tomu návodu. Mám tam porobené aliasy. Takže. Namiesto:

Kód: [Vybrat]
idf -p /dev/cuaU0 flash
Treba volať:

Kód: [Vybrat]
/cesta/python /cesta/idf.py -p /dev/cuaU0 flash
Alebo si tiež urobiť aliasy.

Logik

  • *****
  • 1 035
    • Zobrazit profil
    • E-mail
uetoyo: pokud chceš podobnej systém s virtuálníma prostředíma pro linux, tak na to je dobře použitelná Anaconda.

uetoyo: pokud chceš podobnej systém s virtuálníma prostředíma pro linux, tak na to je dobře použitelná Anaconda.

Tak Anaconda snad funguje na všech OS stejně, právě proto se rozšířila. Možná právě kvůli dřívějším problémům s kompilovanými knihovnami pro Windows. Nicméně mi přijde stále méně nutná. Já sám jsem přešel, od doby kdy je modul `venv` v základní knihovně na jednoduché workflow. V každém projektu, nebo pro skupinu projektů, mám virtuální prostředí. Anakonda je dle mého názoru, další systém, který se musí člověk učit a vidím k němu v méně méně důvodů.

Ale souhlasím s Vámi, že pokud chci nyní stejné startovní prostředí na všech OS, Anaconda nebo Miniconda je ta cesta.
« Poslední změna: 21. 11. 2021, 13:04:13 od uetoyo »