Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: Python

Reaspberry Pi Pico W 無線網路連線寫法

Posted on 2024 年 6 月 26 日2024 年 6 月 26 日 By 日落 在〈Reaspberry Pi Pico W 無線網路連線寫法〉中尚無留言

Raspberry Pi Pico W Getting Start 的範例程式其實蠻簡單的:

import network
from time import sleep

wlan = network.WLAN(network.STA_IF)

wlan.active(True)
wlan.connect("Zeroplex", "wifi-password")

while wlan.isconnected() == False:
    print('Waiting for connection...')
    sleep(1)

print(wlan.ifconfig())

但事實上這段 Pico W 的行為會和程式碼有一段差距。

先來看一下 active() 這段:

wlan.active(True)
wlan.connect("Zeroplex", "wifi-password")

在啟用 wifi 以後,必須先掃描所有 wifi SSID。掃描會花上一段時間,因此若不先等待掃描完畢,而直接 connect() 可能會出現錯誤,像是「SSID 不存在」之類的。

較好的寫法會是:

wlan = network.WLAN(network.STA_IF)
wlan.active(True)

# wait for SSID scan and discover
sleep(5)

# connect
wlan.connect("Zeroplex", "wifi-password")

# check connection
if False == wlan.isconnected():
    print('failed to connect')
else:
    print('connected')
Tags:Python, Raspberry Pi

pip-autoremove 可自動偵測 dependencies

Posted on 2022 年 12 月 26 日2022 年 12 月 26 日 By 日落 在〈pip-autoremove 可自動偵測 dependencies〉中尚無留言

使用 pip install 時,會自動解決 dependency 並自動安裝需要的 packages,但是 pip uninstall 並不會處理 dependency,所以只會移除指定的 package。

若需要在 uninstall 時,自動將偵測並移除不需要的 packages:

pip-autoremove mailgun
mailgun 0.1.1 (/home/zero/tmp/python/whois/lib/python3.8/site-packages)
    pyactiveresource 1.0.1 (/home/zero/tmp/python/whois/lib/python3.8/site-packages)
Uninstall (y/N)?
Tags:Python

Pytrhon 檢查語法是否正確的方式

Posted on 2020 年 6 月 2 日2021 年 3 月 12 日 By 日落 在〈Pytrhon 檢查語法是否正確的方式〉中尚無留言

如果是用 python 直接跑:

python3 views.py
Traceback (most recent call last):
  File "views.py", line 1, in <module>
    from django.shortcuts import render

python 執行了程式,發現 import 或是程式有用到外部 library 而導致噴錯。 

 如果只要檢查語法是否正確,需要靠 py_compile module:

python3 -m py_compile views.py
Tags:Python, 程式設計

執行 inspectdb 把已經存在 DB 的 schema 拉回來

Posted on 2020 年 5 月 7 日2021 年 3 月 12 日 By 日落 在〈執行 inspectdb 把已經存在 DB 的 schema 拉回來〉中尚無留言

今天的情況是 Laravel 已經做好 migration,但是後來決定使用 Python 來處理一些 PHP 處理起來比較麻煩的東西,但資料庫必須共用、無法分開。

Django 有的功能叫做「inspectdb」,當 settings.py 的資料庫都設定好以後,在執行「./manage.py inspectdb」,就會自動生成 models。

所以懶一點的作法是「./manage inspectdb > app/models.py」。

Tags:Python

用 venv 為 Python 建立虛擬環境

Posted on 2020 年 4 月 8 日2021 年 3 月 12 日 By 日落 在〈用 venv 為 Python 建立虛擬環境〉中尚無留言

大家都知道把套件裝成 global 會發生什麼事吧?所以若要開發的 project 需要很複雜套件相依性,則可以考慮使用 Python 的 virtualenv。

先來安裝 pip3:

sudo aptitude install python3-pip

在用 pip3 來裝 virtualenv:

pip3 install virtualenv

會後在準備建立的專案執行以下指令:

python3 -m venv project

這個時後你會發現 project 目錄底下已經有不少東西了,這個時候就可以切入虛擬環境中:

$ source bin/activate
(project) $ 

奇蹟出現了,你的 prompt 最前面已經加上專案名稱,代表你已經完全在專案的環境底下,這環境下不管你用 pip 專什麼東西都不會影響到外部其他專案。

當開發結束,要離開個環境的時候,記得下指令「deactivate」以便離開虛擬環境。

Tags:Python, 程式設計

文章分頁

1 2 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.