總的來說,pip 在我的服務器上運行良好。我剛剛安裝了軟體包waitress,安裝似乎成功。我檢查了它pip freeze:
$ pip freeze | grep waitress
waitress==2.1.0
Waitress 也可以通過 python3 匯入:
>>> import waitress
>>>
但是,waitress-serve不能執行:
$ waitress-serve
Command 'waitress-serve' not found, but can be installed with:
apt install python3-waitress
Please ask your administrator.
我不是此服務器上的 root 用戶。這可能是部分安裝軟體包的原因,還是我在這里推測?
由于我無權運行apt install,并且由于簡單pip安裝在我的 virtualenv 中作業,我希望能夠在不使用建議的apt install python3-waitress命令的情況下使其作業。
uj5u.com熱心網友回復:
結論是,雖然它安裝在 virtualenv 內部和外部,但它實際上只能在其中執行。
當可安裝的 Python 包給你一個實際的入口點時,它通常不會在你的路徑上。
當您使用虛擬環境時,激活該環境會將該環境的各個部分臨時放到路徑上。這是為了確保命令喜歡python或python3運行環境的 Python,但它也允許在路徑上找到這些入口點。
默認情況下,系統 Python 安裝(這里我的意思是,不僅僅是作業系統附帶的 Python,還包括事后手動安裝的 Python,但不是虛擬環境)通常不會在路徑上包含其庫檔案夾 -只夠制作python和pip作業。(在 Windows 上,通常甚至這些都不會添加到路徑中;相反,py會在 Windows 安裝檔案夾中放置一個程式,它會執行查找 Python 可執行檔案的作業。)即使您被允許將東西直接安裝到系統中Python(如果可以避免,通常不應該這樣做,即使你被允許這樣做),它們在那里是找不到的。
當然,您可以通過顯式指定它們的路徑來很好地執行這些操作。但是,通常正確的方法是確保在您想要運行程式時,激活與您安裝軟體包相同的虛擬環境。
(在我的系統上,我有一個用于所有專案的主要“沙盒”虛擬環境——除非我專門測驗安裝程序,或者測驗代碼如何在不同版本的 Python 上作業。然后我使用包裝腳本打開終端視窗,導航到包含我所有專案的檔案夾,然后激活環境。)
uj5u.com熱心網友回復:
如果waitress安裝在虛擬環境中,我認為您可能不小心(或沒有)離開了所述虛擬環境。
如果您正在運行虛擬環境,則可以依次嘗試以下命令:
source venv/bin/activate #venv is assumed to be the name of the virtual environment you are using.
pip install waitress
waitress-serve
每當您需要使用女服務員時,您都需要再次激活虛擬環境:
source venv/bin/activate
waitress-serve
請注意,我假設您在 Linux 環境中運行
如果這不是您面臨的問題,請隨時對您的問題進行更多解釋。
編輯:使用 pip 安裝并運行它在我的 virtualenv 上運行良好;見下圖,在 python 3.8.10 上運行

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/441199.html
標籤:Python python-3.x 点子 女服务员
下一篇:洗掉重復項,但將值相加為一
