Python: Sprawdzenie wersji modułu z Jupyter Notebook

2024-01-22

Praca z Jupyter Notebook daje fajną izolację od tego co dzieje sie na poziomie systemu operacyjnego. Co jednak zrobić, kiedy chcesz dowiedzieć się z jaką wersją modułu lub pythona pracujesz? Prosto:

Żeby sprawdzić numer wersji Pythona użyj:

import sys
sys.version_inf
o

Żeby sprawdzić numer wersji modułu skorzystaj z :

import pandas as pd
pd.version

By Rafał Kraik in Python

Aktualizacja KB5034441: Wystąpiły problemy… ponów próbę później

2024-01-22

Aktualizacja KB5034441 na Windows 10 może kończyć się błędem jeśli partycja recovery jest zbyt mała (np. rozmiar 445 był zbyt mały, ale już 799 jest ok).

Poradnik opisujący, jak zmienić rozmiar partycji dodając do niej 250 MB znajduje się tutaj i zadziałał dla mnie idealnie:

KB5028997: Instrukcje ręcznej zmiany rozmiaru partycji w celu zainstalowania aktualizacji WinRE – Pomoc techniczna firmy Microsoft

Oto, jak wyglądało wykonanie wszystkich kroków:

Czytaj dalej »

By Rafał Kraik in Helpdesk, SQL

Git: fatal: repository XXX not found

2024-01-03

Bywa, zwłaszcza po dobrej zabawie (z kodem), że próba sklonowania kodu z github-a kończy się błędem:

Cloning into 'XXX’…
remote: Repository not found.
fatal: repository 'https://github.com/YYY/XXX.git/’ not found

Ogólnie rzecz biorąc, to pewnie nie jest tak, że repo nie istnieje (no chyba że zabawa była zacniejsza niż zwykle), a przyczyną jest to, że git próbuje sklonować repo myśląc że jest ono publiczne, a tymczasem repo jest prywatne. Dlatego trzeba się „jakoś” zalogować. Oto jak to zrobić:

  • Upewnij się, że masz dobrze ustawione parametry gita user.name i user.email. Zrobisz to poleceniem
git config user.name
git config user.email
  • Jeśli te polecenia nic nie zwracają, to ustaw te parametry poleceniami poniżej. Opcja –local oznacza, że parametr ma być zapisany tylko w tym jednym katalogu. Opcja –global oznaczałaby, że parametr ma być skonfigurowany na wszystkie katalogi użytkownika
git config user.name <twoja_nazwa>
git config user.email <twoj_email>
  • Teraz wygeneruj w GitHub nowy Personal Access Token (PAT)
  • Jeszcze raz sklonuj repo, ale tym razem wskaż, że klonowanie ma się odbywać za pomocą twojego użytkownika GitHub:
git clone https://twoja_nazwa@github.com/twoja_nazwa/nazwa_repo.git
  • Podczas logowania pojawi się okienko logowania do GitHub. Przejdź na zakładkę „token” i tam wklej swój token, jak na obrazku poniżej. Teraz klonowanie powinno się udać
By Rafał Kraik in Git

WSL: Bash na Windows:

2023-12-19

Podczas instalacji WSL (Windows Subsystem for Linux), czyli popularnie rzecz ujmując Linuxa na Windows dostałem taki oto błąd:

The attempted operation is not supported for the type of object referenced. Error code: Wsl/Service/0x8007273d

Przed tym błędem wykonywałem isntalację w taki sposób, że:

  1. Odinstalowałem WSL w „Odinstalowałem WSL w „Programs and Features” w „Turn Windows features on or off” i… zrobiłem restart
  2. Jako administrator uruchomiłem cmd, a w nim wykonałem polecenie
    wsl –install
    i… zrobiłem restart
  3. Po restarcie wylistowałem dostępne dystrybucje:
    wsl -l -o
    i wybrałem sobie dystrybucję Ubuntu (co zresztą dzije się domyślnie)
    wsl –install -d Ubuntu
    No i tu właśnie wyskoczył wspomniany błąd.
  4. Tak trafiłem na stronę [SOLUTION] „The attempted operation is not supported for the type of object referenced.” error after Windows Update · Issue #547 · MicrosoftDocs/WSL (github.com), która podała przepis, jaki u mnie zadział, chociaż nie od razu 🙂

Ogólnie rzecz biorąc zaczyna sie od dodania do rejestru kilku wpisów:

Zgadnij, co było dalej – tak … restart

Próba uruchomienia WSL nadal kończyła się błędem. I wtedy zrobiłem jeszcze dwie rzeczy:

wsl --shutdown
netsh winsock reset

A potem…. restart. Po tych operacjach wszystko zadziałało.

Jeśli u Ciebie nie działa, to zwróć jeszcze raz uwagę na:

  • uruchamiaj polecenia „jako administrator”
  • wykonuj restarty po każdym kroku
  • podczas klikania polecenia „uruchom ponownie” przytrzymaj na klawiaturze SHIFT. Powoduje to pełnu rozruch systemu.

Aktualizacja:

Na jednym „upartym komputerze” pomogło jeszcze uruchomienie:

bcdedit /set hypervisorlaunchtype off

… i restart i:

bcdedit /set hypervisorlaunchtype auto

… i restart

te komendy wziąłem stąd: https://github.com/MicrosoftDocs/WSL/issues/547

By Rafał Kraik in Helpdesk

Azure, powershell i SQL

2023-12-18

Technologie się mieszają… tutaj zobaczysz, jak w Azure SQL Database utworzyć konto użytkownika korzystając z PowerShella.

Zaczynamy od doinstalowania modułu SQLPS pozwalającego na połączenie z poziomu PowerShell do bazy danych (https://learn.microsoft.com/en-us/sql/powershell/download-sql-server-ps-module?view=sql-server-ver16):

Install-Module -Name SqlServer

No to pora na połączenie się do subskrypcji:

Connect-AzAccount
Select-AzSubscription -Subscription XXX

Mój przypadek wymagał zdefiniowania zmiennych przez zmienne środowiskowe, ale śmiało można by skorzystać ze zwykłych zmiennych:

# set environment

$env:RG = "RG-Test-Mobilo"
$env:SQLServerName= "sql-test-mobilo"
$env:sqlcmdserver = "$($env:SQLServerName).database.windows.net"
$env:sqlcmddbname="ssqldb-mobilo"
$env:USERNAME="boss"
$env:PWD="***"
$env:SQLQUERY="select @@version"$env:newUser = "my_new_user"
$env:newUserPass = "C0mpl1c4t3d-Pass!"

Do połączenia do bazy Azure SQL Database wymagane jest otwarcie firewalla. Jest to jedno z ustawień bazy danych i można je ewentualnie wykonać np. w Portalu, ale czemu by nie wykorzystać PowerShella:

$myPublicIp=(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content
New-AzSqlServerFirewallRule -ResourceGroupName $env:RG -ServerName $env:SQLServerName -FirewallRuleName "Rule-$myPublicIp" -StartIpAddress $myPublicIp -EndIpAddress $myPublicIp

No to pora na testowe połączenie:

Invoke-SqlCmd -Query $env:SQLQUERY -ServerInstance $env:SQLCMDSERVER -Database $env:SQLCMDDBNAME -Username $env:USERNAME -Password $env:PWD

Jeśli w odpowiedzi zobaczysz wersję serwera – bingo! Można uruchomić polecenie tworzące użytkownika:

Invoke-SqlCmd -Query "CREATE USER $($env:newUser) WITH PASSWORD='$($env:newUserPass)' ; ALTER ROLE db_owner add member $($env:newUser);" -ServerInstance $env:SQLCMDSERVER -Database $env:SQLCMDDBNAME -Username $env:USERNAME -Password $env:PWD

No i na koniec można ponowić uruchomienie testowego zapytania, ale tym razem korzystając z konta nowego użytkownika:

Invoke-SqlCmd -Query $env:SQLQUERY -ServerInstance $env:SQLCMDSERVER -Database $env:SQLCMDDBNAME -Username $env:newUser -Password $env:newUserPass

By Rafał Kraik in Azure

Kurs AZ-900 pytania i rozmowa kwalifikacyjna

2023-12-02

Samodzielna nauka jest trudna. Nie ma z kim porozmawiać, nie ma jak się upewnić, że już rzeczywiście coś umiem, albo czego nadal nie znam. Kurs Azure pytania przed egzaminem AZ-900 ma to zmienić.

Ten kurs to uzupełnienie tradycyjnych kursów AZ-900. Nie ma wykładu, ale są pytania. Na ekranie pojawia sie znak zapytania, film można zatrzymać, zastanowić się nad odpowiedzią, a potem wznowić odtwarzanie i posłuchać dobrej odpowiedzi z uzasadnieniem.

Idealne gdy:

  • przygotowujesz się do egzaminu i chcesz sprawdzić swoją wiedzę
  • znasz już trochę Azure i zamiast przechodzić przez pełny kurs, chcesz po prostu zdiagnozować swój poziom przygotowania
  • przygotowujesz się do rozmowy kwalifikacyjnej, gdzie mają się pojawić pytania o Azure

Kurs jest dostępny na Udemy – szczegóły na www.kursyonline24.eu

By Rafał Kraik in Aktualności

Helpdesk: Windows: Outlook: 0x800CCC1A

2023-12-01

Masz taki błąd?

Zadanie „user@domain.pl – Odbieranie” zgłosiło błąd (0x800CCC1A): „Serwer nie obsługuje określonego typu szyfrowania połączenia. Spróbuj zmienić metodę szyfrowania. Aby uzyskać dodatkową pomoc, skontaktuj się z administratorem serwera poczty lub usługodawcą internetowym.”

I zepsuło się samo?

I nic nie zmieniałeś/aś?

Używasz „od zawsze” tego konta i zawsze działało?

I dzisiaj przestało?

Jedno konto działa, a inne nie, albo zepsuły się wszystkie?

Na telefonie nadal działa?

Na innych stronach radzą naprawiać plik pst, zmieniać numery portów albo instalować aktualizacje?

To powiem tak – chociaż lubię Microsoft i uważam system Windows i Outlook za bardzo dopracowane, to jednak czasami…. zwykły restart komputera potrafi zdziałać cuda.

Weź chłopie zrestartuj komputer (najlepiej przytrzymując klawisz Shift, co powoduje pełny restart). W każdym razie u mnie już działa

By Rafał Kraik in Helpdesk