攝影或3C

Python: Visual Studio Code (VS code) or Spyder import模組執行後,出現no module找不到指定模組錯誤, settings.json , import sys ; lst = sys.path ; sys.path.append() ;Spyder: Tools => PYTHONPATH manager

參考此篇文章

於VS code目錄底下

C:\Users\Mars\AppData\Local\Programs\Microsoft VS Code

建了.vscode目錄

寫了settings.json

Window環境可以解決

VS code import 模組後

no module錯誤

{
  “code-runner.runInTerminal”: true,
  “python.pythonPath”: “C:\\ProgramData\\Anaconda\\python.exe”,
  “code-runner.executorMap”: {
      “python”: “python.exe -u”
  }
}
有寫入settings.json即可
py檔放在
C:\Python\Mydocx
VS code則將docx生成在上一層資料夾
C:\Python\
誤以為settings.json無用
老師的settings.json:
參考老師跟自身環境
寫的settings.json:
{
  “python.defaultInterpreterPath”: “C:\\ProgramData\\Anaconda\\python.exe”,
  “files.encoding”: “utf8”,
  “terminal.integrated.profiles.windows”:
  {
      “Command Prompts”:
      {
          “path”: [“${env:windir}\\System32\\cmd.exe”],
          “args”: [],
          “icon”: “terminal-cmd”
      }
  },
  “terminal.integrated.defaultProfile.windows”: “Command Prompts”,
  “editor.autoIndent”: “advanced”
}

 

語法:

spyder 5.1.5執行結果有11個: 

path list: [‘C:\\ProgramData\\Anaconda\\python39.zip’, ‘C:\\ProgramData\\Anaconda\\DLLs’, ‘C:\\ProgramData\\Anaconda\\lib’, ‘C:\\ProgramData\\Anaconda’, ”, ‘C:\\Users\\Mars\\AppData\\Roaming\\Python\\Python39\\site-packages’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\win32’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\win32\\lib’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\Pythonwin’, ‘C:\\ProgramData\\Anaconda\\python.exe’]
幾個path? 11

 

VS code執行結果只有10個:

C:\Python>python -u “c:\Python\sysTest.py”
path list: [‘c:\\Python’, ‘C:\\ProgramData\\Anaconda\\python39.zip’, ‘C:\\ProgramData\\Anaconda\\DLLs’,
‘C:\\ProgramData\\Anaconda\\lib’, ‘C:\\ProgramData\\Anaconda’, ‘C:\\Users\\Mars\\AppData\\Roaming\\Python\\Python39\\site-packages’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\win32’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\win32\\lib’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\Pythonwin’]
幾個path? 10

 

Spyder比VScode多那一個路徑?

使用set的差集功能:

Spyder比VScode多一個路徑:

‘C:\\ProgramData\\Anaconda\\python.exe’

 

參考差集的結果

程式碼前面多加這幾行

VS code還是跑不出來docx

(其實是生成在上一層目錄

這一段程式碼非必要)

 

Spyder 5.3.3執行sys.path

結果只有6個: 

[, ‘C:\\Program Files\\Spyder\\Python\\python38.zip’, ‘C:\\Program Files\\Spyder\\Python’, ‘C:\\Program Files\\Spyder\\pkgs’, ‘C:\\Program Files\\Spyder\\pkgs\\IPython\\extensions’, ‘C:\\Users\\Mars\\.ipython’]

#一個是空的,實際只有5個路徑

使用set的差集比較

Spyder 5.1.5 & 5.3.3: 

以下10個路徑是5.3.3沒有的

{‘C:\\ProgramData\\Anaconda\\python.exe’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\win32\\lib’, ‘C:\\ProgramData\\Anaconda\\DLLs’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\win32’, ‘C:\\ProgramData\\Anaconda\\lib’, ‘C:\\ProgramData\\Anaconda’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages\\Pythonwin’, ‘C:\\ProgramData\\Anaconda\\python39.zip’, ‘C:\\Users\\Mars\\AppData\\Roaming\\Python\\Python39\\site-packages’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages’} 10

參考這篇文章

site-packages路徑:

C:\\Program Files\\Spyder\\Python\\lib\\site-packages

C:\Program Files\Spyder\Python\lib\site-packages

沒有lib\site-Packages的子目錄,

自己建的,裡面放mypath.pth

 

mypath.pth內容如下

有10個路徑:

再執行一次sys.path,

仍只有增加到8個

path list: [‘C:\\Program Files\\Spyder\\Python\\python38.zip’, ‘C:\\Program Files\\Spyder\\Python’, ‘C:\\Program Files\\Spyder\\pkgs’, , ‘C:\\Program Files\\Spyder\\Python\\lib\\site-packages’, ‘C:\\ProgramData\\Anaconda\\lib\\site-packages’, ‘C:\\Program Files\\Spyder\\pkgs\\IPython\\extensions’, ‘C:\\Users\\Mars\\.ipython’]
幾個path? 8 

(有一個路徑是空的)

 

把5.3.3 2的6-1個路徑

加入mypath中

反而降低到只有7個

還有一個路徑是空的

path list: [‘C:\\Program Files\\Spyder\\Python\\python38.zip’, ‘C:\\Program Files\\Spyder\\Python’, ‘C:\\Program Files\\Spyder\\pkgs’, , ‘C:\\Program Files\\Spyder\\Python\\lib\\site-packages’, ‘C:\\Program Files\\Spyder\\pkgs\\IPython\\extensions’, ‘C:\\Users\\Mars\\.ipython’]
幾個path? 7

 

參考這篇文章,改變Anaconda的環境

但spyder也只有5.2.2

Anaconda多了一個Spyder533:

執行sys.path後

有12個路徑:

path list: [‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\python39.zip’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\DLLs’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\lib’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533’, ”, ‘C:\\Users\\Mars\\AppData\\Roaming\\Python\\Python39\\site-packages’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\lib\\site-packages’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\lib\\site-packages\\win32’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\lib\\site-packages\\win32\\lib’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\lib\\site-packages\\Pythonwin’, ‘C:\\Users\\Mars\\.conda\\envs\\Spyder533\\lib\\site-packages\\IPython\\extensions’, ‘C:\\Users\\Mars\\.ipython’]
幾個path? 12

 

Spyder Console

!pip show numpy_financial

知道套件安裝在

C:\Python311\Lib\site-packages

 

Tools => PYTHONPATH manager:

按Add path按鈕

將上述路徑加入User paths

 

安裝Spyder會附帶python.exe

如何知道其安裝路徑?

import sys
print(sys.executable)
print(sys.version)

C:\Program Files\Spyder\Python\

可以將該路徑加入環境變數中

where python

python -V

推薦hahow線上學習python: https://igrape.net/30afN

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡