如何解決 PyCharm Pro 2023.2 執行遠端主機中容器內的 Python 找不到檔案的問題?

一般在使用 Docker 容器開發程式的時候,大部分是在自己的電腦上透過 Docker Desktop 產生 Container,但是如果手上只有弱弱的筆電,沒辦法跑那種很吃效能的程式,那就只能在 Server 上直接用 Docker 開發程式。 Generate by Midjourney niji 5照著 PyCharm 的 UI 引導設定 New Interpreter > Docker 的時候, SSH 遠端主機的 Docker Container 會有路徑映射的問題: 這其實要分成三個問題解釋: 筆電的 code 要上傳到遠端主機上的哪裡? -> SFTP 上傳的檔案怎麼放進容器? -> Mount Volume 容器內的 Python 怎麼知道執行路徑? -> Path Mapping - - - - - - 筆電的 code 要上傳到遠端主機的哪裡? -> SFTP Settings > Deployment > SFTP 建立檔案上傳 Connect 分頁選擇要連接 SSH 的主機,如果沒有適合的選項按右邊 ⋯ 建立 在 Mappings 分頁的 Deployment path 選擇主機上的上傳路徑...

<span title='2023-08-01 07:48:18 +0800 +0800'>August 1, 2023</span>&nbsp;·&nbsp;2 分鐘&nbsp;·&nbsp;Jimmy

如何用 SSH 連進遠端主機內的 docker container?

Docker 是個好用的虛擬服務技術,可以快速將開發環境建立在其他電腦上,例如 Tensorflow 就有提供官方的 Docker image。但是如果想要用 Pycharm 遠端開發,會發現沒辦法直接跟遠端主機中 Docker container 內的 python 溝通。這時就得將 Container 的 SSH 服務安裝起來,讓 Container 直接可以對外連線,這樣對 Pycharm 而言就像是在另一台遠端主機上開發一樣。 如何將 container 的 port 22 暴露出去利用網際網路連線呢? 參考資料:Dockerize an SSH service 首先我們要建立一個名為 Dockerfile 的空白文件,以下是官方的 Dockerfile 範例: <pre class="brush: bash; highlight: [5]; title: ; notranslate" title=""> FROM ubuntu:16.04 RUN apt-get update && apt-get install -y openssh-server RUN mkdir /var/run/sshd RUN echo 'root:screencast' | chpasswd RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config # SSH login fix....

<span title='2018-12-05 16:54:26 +0800 +0800'>December 5, 2018</span>&nbsp;·&nbsp;2 分鐘&nbsp;·&nbsp;Jimmy

Pycharm 好用的 plugin

強大的 Pycharm 有著許多好用的功能,但還是有些功能是官方沒有照顧到的,官方有開放社群開發插件,這邊介紹幾個覺得還不錯的第三方插件 String Manipulation 這個插件可以幫你完成一些煩人的大小寫轉換、變數排序、自動生成序列等神奇的功能,選項在右鍵選單內: ![01](https://jimmylab-images.seisblue.com/uploads/2018/08/01.png) [BashSupport](https://plugins.jetbrains.com/plugin/4230-bashsupport) 就是bash,但系統沒有預裝,所以要自己從網站上下載 ![bash](https://jimmylab-images.seisblue.com/uploads/2018/08/bash.png) [Fortran](https://plugins.jetbrains.com/plugin/9699-fortran) 可以支援 fortran 77 的固定格式跟 fortran 95 之後的格式 ![fortran](https://jimmylab-images.seisblue.com/uploads/2018/08/fortran.png) 如何安裝第三方插件: 到Pycharm 插件庫挑選第三方插件 下載並解壓縮會有一個 .jar 檔 到 Settings 搜尋 plugin 並選取 Install plugin from disk… ![02](https://jimmylab-images.seisblue.com/uploads/2018/08/02.png) 選取解壓縮的 .jar 檔,如果檔案在桌面可以選上方視窗圖示 ![03](https://jimmylab-images.seisblue.com/uploads/2018/08/03.png) 重開 Pycharm 就可以使用新的插件了

<span title='2018-08-01 11:02:25 +0800 +0800'>August 1, 2018</span>&nbsp;·&nbsp;1 分鐘&nbsp;·&nbsp;Jimmy

安裝PyQt5 + 連動Pycharm

如果要在 Python 上面寫 GUI 介面,推薦跨平台跨語言的Qt,它有 App Designer 可以直接排版後自動生成程式碼。用 signal / slot 作為物件之間的溝通,簡化了很多開發上的複雜度。Qt 底層為 C++ ,所以執行速度較快。PyQt5 只支援 Python 3 ,且不向下支援 PyQt4。 Pycharm 算是個人蠻推薦的 Python IDE,有強大的除錯功能,可以自動整理程式碼,並可以與許多工具結合,比用單純的文字編輯器好很多。 以下專注在 Windows 10,Pycharm 灌好的前提下,如何安裝 PyQt5 並連動: 打開 Settings ![011](https://jimmylab-images.seisblue.com/uploads/2018/07/011.png) 2. 找到 Project Interpreter 並按 + (有 Anaconda 的要先按綠色圈圈取消) ![021](https://jimmylab-images.seisblue.com/uploads/2018/07/021.png) 3. 在上方搜尋 PyQt5 並安裝 PyQt5 與 pyqt5-tools ![031](https://jimmylab-images.seisblue.com/uploads/2018/07/031.png) 4. 回到 Settings 找到 External Tools 並按 + ![041](https://jimmylab-images.seisblue.com/uploads/2018/07/041.png) 5. 設定 Qt Designer 如圖,找到 designer.exe (通常在 Python 根目錄下的 Lib/site-package/pyqt5-tools 裡面),Arguments 設定為`$FileName$`,Working directory 設定為`$ProjectFileDir$`,可以用 Insert Macro 裡面找 ProjetFileDir 生成!...

<span title='2018-07-09 15:53:55 +0800 +0800'>July 9, 2018</span>&nbsp;·&nbsp;1 分鐘&nbsp;·&nbsp;Jimmy