最近重裝SublimeText3和Anaconda,然後安裝了pyquery包,跑代碼
from pyquery import PyQuery as pq
在cmd>python,Anaconda Prompt>python,Anaconda Spyder下執行都沒問題,
只有Sublime執行後控制檯輸出
ImportError: DLL load failed: 找不到指定的模塊
#或者是這樣的亂碼
'python' �����ڲ����ⲿ���Ҳ���ǿ����еij���
查了一些資料,通過配置解決了。
網上相關內容太多,有些資料過時或沒有解決問題。
這裏整理記錄一下方便以後重裝。
一、首先關於Python環境變量
1. Anaconda和Python環境變量位置
在我的電腦,上鼠標右鍵,點屬性,如圖看到環境變量
如果之前單獨裝過python和anaconda,
在用戶變量和系統變量的path
中,通常就會有寫入內容。
另外系統變量中可能存在名爲PYTHONPATH
的變量。
在path
中,下圖中藍色圈起來的部分,就是Anaconda相關的路徑了。
Win7的path變量,所有路徑是一行字符串,用
";"
號分開的;
而Win10後變成打開一排顯示的每個路徑的,
其實是一樣的,都是將路徑加入到path變量中。
2. 刪除用不到的環境變量(謹慎操作)
因爲我是卸載徹底重裝,所以先將之前的python和anaconda相關環境變量都刪了。
如果你有多個正在使用的python環境,請不要隨意刪除或改動環境變量
二、下載Anaconda安裝
寫這篇文章的時候,從官網下載到的是
Anaconda3-2020.02-Windows-x86_64.exe
雙擊安裝包安裝,如果不改安裝路徑的話,直接全點下一步。
遇到這一步的時候(借用網上的圖,裝的時候沒截)
上面的 Add Anaconda to my PATH……
默認是沒勾選的。
這一項的作用就是問你,是否向系統中寫入環境變量。
如果你已安裝其他python環境的,建議你不要勾選。
如果沒裝其他python,以後也打算直接用Anaconda的,可以勾上。
勾選與不勾的對比:
勾選:
Anaconda會將自己寫入環境變量,且排在其他軟件的前面(勾了會在用戶變量path
變量值的最前面,添加以下內容C:\Users\L\anaconda3;C:\Users\L\anaconda3\Library\mingw-w64\bin;C:\Users\L\anaconda3\Library\usr\bin;C:\Users\L\anaconda3\Library\bin;C:\Users\L\anaconda3\Scripts;
)。不勾選:
不寫入環境變量。最直觀的體驗就是,
你需要在Anaconda prompt
中敲入python進入交互頁面,
在cmd
中敲入python是找不到的,因爲系統不知道python在哪,pip或conda也一樣。
然後點擊安裝,大概十幾分鍾裝完。
如果沒改安裝路徑安裝路徑的話,Anaconda Python解釋器的默認路徑一般爲C:\Users\用戶名\anaconda3\python.exe
三、安裝SublimeText3
寫這篇文章的時候,從官網下載到的是
Sublime Text Build 3211 x64 Setup.exe
1. 安裝Sublime
沒什麼說的,官網下載,雙擊安裝,1分鐘裝完。
2. 配置Anaconda插件(實現代碼自動補全)
(1)安裝插件控制檯
Tool>install packages control,等待30s左右,成功彈窗提示你裝好了;
Preferences>packages control,選 install package,等待30s左右,彈出輸入欄。
(2)安裝Anaconda插件
輸入Anaconda,第一個就是,點擊安裝,安裝成功跳出messages文檔
(3)配置Anaconda > Settings-Default:
點擊Preferences > Package Settings > Anaconda > Settings-Default
找到“python_interpreter”
修改爲你安裝的Anaconda python位置C:/Users/用戶名/anaconda3/python.exe"
,然後保存
(4)配置Anaconda > Settings-Users:
點擊Preferences > Package Settings > Anaconda > Settings-Users
粘貼以下內容後保存
{
"suppress_word_completions":true, //true會禁用sublime原生的自動補全,避免與anaconda補全衝突
"suppress_explicit_comletions":true, //同上
"complete_parameters":false, //true會導致print()帶出一堆參數print(value, ..., sep, end, file, flush)
"swallow_startup_errors":true, //true可以避免一打開sublime,彈出錯誤窗“<Anaconda.anaconda lib.workers.local worker,LocalWorker object...”
"anaconda_linting":false, //true會出現一堆白框把代碼圈起來,用於提示PEP8規範
}
配置完畢,關閉重開一下SublimeText3
3. Build System(Ctrl+B)執行python代碼
有環境變量
如果安裝Anaconda時,勾選了寫入環境變量,直接Ctrl+B,然後選python執行就行
缺失環境變量 或 想要自定義
如果安裝Anaconda時,沒有勾選寫入環境變量,就需要自己配置了。
點擊Tools > Build System > New Build System…
粘貼以下內容(請結合自己安裝路徑修改)
{
"cmd": ["C:/Users/L/anaconda3/python.exe","-u","$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"working_dir": "$file_path",
"selector": ["source.python"],
"path": "C:/Users/L/anaconda3;C:/Users/L/anaconda3/Library/mingw-w64/bin;C:/Users/L/anaconda3/Library/usr/bin;C:/Users/L/anaconda3/Library/bin;C:/Users/L/anaconda3/Scripts;",
"encoding": "utf-8",
"env": {"PYTHONIOENCODING": "utf8"}
}
保存,彈窗中修改文件名爲 Anaconda3.sublime-build,點擊保存。
然後你會發現Build System中多了Anaconda3
選中,然後再Ctrl+B,跑通了。
通過pip裝上的pyquery包,能正常被import,說明配置成功了。
四、conda、pip基礎指令與鏡像代理
1. 基礎指令
# pip 以 requests爲例
pip install requests # 安裝requests包
pip install requests==2.18.1 # 安裝requests包2.18.1版
pip install --upgrade requests # 更新requests包
pip show requests # 查看已裝requests包版本等信息
pip uninstall requests # 卸載requests包
pip install --upgrade pip # 更新pip本身
pip install pip-review # 可以安裝pip-review,通過pip-review實現更新所有包
pip-review --local --interactive # 更新所有包
pip install -r requirements.txt # 批量下載安裝項目依賴包(轉移項目到其他機器時可能用到)
# conda 以requests爲例
conda install requests # 安裝requests包
conda install requests=2.18.1 # 安裝requests包2.18.1版
conda update requests # 更新requests包
conda list requests # 查看已裝requests包版本等信息
conda uninstall requests # 卸載requests包
conda update conda # 更新conda本身
conda update anaconda # 更新anaconda(需先更新conda)
conda update --all # 更新所有包
2. 更新包時,如果下載過慢,可以通過代理或使用鏡像站的方式更新包
conda添加鏡像站
內容引自
清華大學開源軟件鏡像站 - Anaconda 鏡像使用幫助 https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
執行
conda config --set show_channel_urls yes # 設置搜索時顯示通道地址
目的是,確保生成了.condarc
文件,然後打開C:/Users/用戶名/.condarc
,粘貼以下內容後保存
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
然後執行
conda clean -i # 清除一下索引緩存
就添加完成可以使用了。
pip添加鏡像站
創建C:\Users\用戶名\pip
文件夾,新建文件pip.ini
,輸入以下內容後保存
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
上面是加了清華的,還有一些其他可用的鏡像地址,可供選擇:
http://pypi.douban.com/simple/ # 豆瓣
http://mirrors.aliyun.com/pypi/simple/ # 阿里
http://pypi.hustunique.com/simple/ # 華中理工大學
http://pypi.sdutlinux.org/simple/ # 山東理工大學
http://pypi.mirrors.ustc.edu.cn/simple/ # 中國科學技術大學
如果不添加鏡像,只是單次使用,也可以通過以下方法:
# 臨時通過代理下載
pip --proxy 127.0.0.1:25378 install 包名
# 臨時通過鏡像站下載
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
五、其他
如果Anaconda prompt啓動python遇到:UnicodeDecodeError: 'gbk' codec can't decode byte 0x9a in position 215: illegal multibyte sequence
從提示內容看,報錯時正在read_history_file
。
找到.python_history文件,刪除掉。
再執行發現就正常了