[英]Debuggin with pdb within a conda environment
我正在Conda環境中開發python。 運行在環境下創建的“python”二進制文件時,可以成功導入我添加到環境中的所有包。 但是,當嘗試使用pdb調試我的任何python腳本時,我會得到相同包的ImportError。
例如,在創建新環境並添加以下包之后
pip install keras
pip install conection
我運行以下test.py腳本
import keras
import connexion
print("I have imported keras alright")
print("I have imported connexion alright")
from keras.models import Sequential
from keras.layers import Dense, Activation
# for a single-input model with 2 classes (binary):
model = Sequential()
model.add(Dense(1, input_dim=784, activation='softmax'))
print("I have defined a keras network alright")
以通常的方式調用它時,這可以正常工作,
python test.py # Works OK
但在pdb中以調試模式運行時失敗
pdb test.py # ImportError: No module named connexion
問題是:如何正確配置pdb以使用conda環境中安裝的軟件包?
附加信息:雖然python二進制文件確實在conda環境中
which python # returns $HOME/miniconda3/envs/$USER/bin/python
pdb似乎總是指系統版本
which pdb # returns /usr/bin/pdb
或者,使用python3 -m pdb <script>
將pdb與conda和python 3一起使用
將pdb
可執行文件復制到您的環境中,並將#!/usr/bin/python
的shebang(第一行)設置為#!/usr/bin/env python
。 如果您希望這是任何環境(包括系統pdb)的默認行為,則只能在/usr/bin/pdb
更改shebang。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.