pip install --user 表示使用者無法從 Dash 或終端機執行應用程式

pip install --user 表示使用者無法從 Dash 或終端機執行應用程式

我是 Python GUI 應用程式的開發人員。我希望我的應用程式的用戶能夠使用 pip 安裝該應用程序,因為並非它的所有依賴項都已進入 Debian,而且我預計這種情況不會很快改變。

當然,PPA 是一個好主意,但就我而言,這意味著從頭開始為 Python 軟體包創建 Debian 軟體包,這些軟體包不是我自己的,並且涉及我當然不擅長的事情,例如 SWIG。

PPA 的下一個最佳替代品是 Python 的 pip。而且效果很好!所有最好的建議都說--user在運行時使用該選項pip install。 pip 開發人員這麼說,我的印像是 Ubuntu 實際上默認了這一點。

--user然而在 Ubuntu 上,我在使用with時遇到兩個問題pip

  1. 應用程式可執行檔被安裝到~/.local/bin,它不在 Ubuntu 中的預設路徑上,與 Fedora 和可能的其他發行版不同。 (setup.py 使用 setuptools' entry_points)。
  2. 由於某些莫名其妙的原因,即使.desktop檔案位於 中~/.local/share/applications,應用程式也不會顯示在 Dash 中,即使在登出後也是如此。不幸的是,~/.local/share/man/man1當使用者從終端運行 man 時,安裝的手冊頁也不會出現。

我可以要求 Ubuntu 用戶創建一個~/bin目錄並向我的應用程式添加符號鏈接~/.local/bin,但這並不能解決手冊頁的問題或缺乏從 Dash 啟動應用程式的方法。

我如何建議我的用戶最好地解決這些問題?

我建議用戶安裝的確切命令是python3 -m pip install --user foo-1.0.tar.gz

答案1

在 IRC 上與 Ubuntu 開發人員交談後,我現在的理解是 Ubuntu 遵循 Debian 並將 ~/bin 添加到 PATH(如果資料夾存在)。沒有計劃對 ~/.local/bin 執行相同的操作。因此最終用戶必須手動調整他們的路徑,或添加符號連結等。這也會影響所有其他依賴pip 的Python 應用程式開發人員。

相關內容