剛接觸python時,vscode總是會提示「確定要把套件安裝在全域環境下嗎」
當時嫌麻煩沒去研究,沒想到這麼快就要用到了
安裝套件
倒帶一下,我們先回到velocity那個時間線
那時候不是為了架proxy開了台新的vm嘛
我看他好像沒什麼負擔,又是免費的,
就想說把dc bot一起部署在那台電腦上
我把bot整個丟到我的repo上面了(目前是公開,以後搞不好會轉回私人)
所以整個clone下來就行
bashbashgit clone https://github.com/littlezhaidi/chtetr-bot.git
debian 12預設的python版本是3.11
但是沒有pip🤔我只好自己裝
(在apt裡面叫做python-pip)
bashbashsudo apt-get install python-pip
果不其然沒這麼順利
bashbashpip3 install -r requirements.txt
bashIf you wish to install a non-debian-packaged python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/python and path/to/venv/pip. Make sure you have python3-full installed.
所以為什麽要用venv?
當時看到這訊息我有點傻眼,為什麼要這麼麻煩啊
但其實沒想像中的這麼複雜(雖然還是搞了一段時間才弄懂)
用途
隔離各種套件跟python版本,這樣會比較方便管理專案
就不會變成大雜燴
但說真的,如果你是一般使用者,搞成大雜燴好像也不會怎麼樣
反正我現在是用的好好的,沒有出任何問題過
zshzsh% pip3 listPackage Version------------------ -----------aiohappyeyeballs 2.4.4aiohttp 3.11.11aiosignal 1.3.2attrs 24.3.0bidict 0.23.1blinker 1.9.0boto3 1.40.6botocore 1.40.6cachetools 6.1.0certifi 2025.7.14charset-normalizer 3.4.2click 8.3.0colorgram.py 1.2.0discord 2.3.2discord.py 2.4.0##略...
既然都會用venv了,以後開新專案習慣就好一點吧
強迫自己開一個venv,這樣要push到github上面,也比較好搞requirements.txt
注意事項
- 如果要跟
screen混用,要先開screen再進入venv,大概是這樣:
bashbashscreen -S pythonsource venv/bin/activate
- 離開venv用
deactivate,如果打exit是退出這個shell:) - 在linux下,每個使用者有自己的venv,
- 誰初始化了venv,就用誰執行python,否則會卡權限
使用venv
bashbashsudo apt-get install python3-venv #記得先安裝python3 -m venv venv #在目前資料夾新增一個venvpython3 -m venv venv-dcbot #也可以取名成venv-dcbotsource venv/bin/activate #啟用它,檢查一下路徑是否正確pip3 install -r requirements.txt #就可以安裝依賴了
