簡體   English   中英

在conda環境中使用pdb進行調試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM