總結Python使用過程中的bug

Python使用過程中的bug

問題:

在vscode中, 使用 Windows PowerShell 運行 conda activate xxx (某個環境)切換環境時報錯:

If using ‘conda activate’ from a batch script, change your invocation to ‘CALL conda.bat activate’.

原因:

PowerShell 有時不好使

解決方法:

改為用 cmd 運行

在這裡插入圖片描述

問題:

conda install xxxx 安裝遇到問題

PermissionError: [WinError 5] 拒絕訪問。: ‘d:\anaconda3\lib\site-packages

原因:

權限問題

解決方法:

將原來的 conda install xxxx 改成 pip install –user xxxx (可以試試 conda install –user xxxx )

問題:

linux 服務器上已經安裝好瞭cuda,但是運行 nvcc -V 後報錯:

The program ‘nvcc’ is currently not installed. You can install it by typing:
sudo apt install nvidia-cuda-toolkit

按照網上的方法,找到 cuda 的安裝目錄下的 lib 和 bin 所在路徑(假設 lib 的路徑是 /usr/local/cuda/lib ,bin 的路徑是 /usr/local/cuda/bin),通過 vim ~/.bashrc 在中間(這是出錯的步驟)加入路徑:

export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

source ~/.bashrc 後運行 nvcc -V 後仍然報錯。

原因:

因為之後又安裝瞭新版的 python,所以 ~/.bashrc 最後又被添加瞭python的路徑:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/snap/bin

這個增加在瞭最後,直接覆蓋瞭之前寫的cuda的路徑,所以添加 cuda 路徑一般網上的寫法都是:

export PATH=$PATH:新增的bin路徑
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:新增的lib路徑

這相當於把之前的PATH和新增的路徑銜接起來。並且,在後面繼續添加路徑時,也不要直接寫 export PATH=新增路徑 ,否則會覆蓋之前寫過的PATH路徑,導致之前寫的路徑失效。

解決方法:
把之前新增的python路徑修改為:

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/snap/bin

避免瞭覆蓋掉 cuda 的路徑

並且,建議在之後添加路徑時,不要直接用 export PATH=新增路徑 而是用 export PATH=$PATH:新增路徑

問題:
按照官方文檔,在win10上運行 django-admin startproject mysite 遇到報錯

‘django-admin’ 不是內部或外部命令,也不是可運行的程序 或批處理文件。

原因:
沒有添加系統路徑。

解決方法:
找到包含 django-admin.exe 的文件,然後把它所在的路徑添加到系統路徑裡。例如:我這邊是 C:\Users\xxx\AppData\Roaming\Python\Python37\Scripts,就添加系統路徑。還是不行的話,就使用懶人方法,直接運行

C:\Users\xxx\AppData\Roaming\Python\Python37\Scripts\django-admin startproject mysite

問題:

試圖在我的 Mac 上用 brew 安裝 pyenv。首先,卡在瞭 updating homebrew 上。解決後,下載完 pyenv,想要用 eval "$(pyenv init -)" 添加路徑又遇到警告:

WARNING: pyenv init - no longer sets PATH. Run pyenv init to see the necessary changes to make to your configuration.

解決方法:

對於卡在 updating homebrew 上,有兩種方法:

1.直接 ctrl+C 停止更新,然後就會跳過更新,直接下載。並且可以直接關閉自動更新:

vim ~/.bash_profile

# 新增一行
export HOMEBREW_NO_AUTO_UPDATE=true

2.更換源(感覺前面一種方法治標不治本,還是更換源吧):

cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git

cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
brew update

對於警告:

WARNING: pyenv init - no longer sets PATH. Run pyenv init to see the necessary changes to make to your configuration.

是因為 pyenv 版本更新,網上的教程太老瞭,建議直接看pyenv的GitHub Readme官方文檔,把 echo eval "$(pyenv init -)" 改為:

echo 'eval "$(pyenv init --path)"' 

這裡也僅限當前時間有效,可能之後還會改動,還是以官方文檔為準。

到此這篇關於總結Python使用過程中的bug的文章就介紹到這瞭,更多相關Python使用過程中的bug內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: