alb*_*rji 3 python pdb anaconda
我正在Conda环境中使用python开发。运行在环境下创建的“ python”二进制文件时,可以成功导入我添加到环境中的所有软件包。但是,当尝试使用pdb调试任何我的python脚本时,对于相同的软件包,我都会得到ImportError。
例如,在创建新环境并添加以下软件包之后
pip install keras
pip install conection
Run Code Online (Sandbox Code Playgroud)
我运行以下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")
Run Code Online (Sandbox Code Playgroud)
以通常的方式调用它可以正常工作,
python test.py # Works OK
Run Code Online (Sandbox Code Playgroud)
但是在pdb中以调试模式运行时失败
pdb test.py # ImportError: No module named connexion
Run Code Online (Sandbox Code Playgroud)
问题是:如何正确配置pdb以使其与conda环境中安装的软件包一起使用?
附加信息:虽然python二进制确实在conda环境中
which python # returns $HOME/miniconda3/envs/$USER/bin/python
Run Code Online (Sandbox Code Playgroud)
pdb似乎总是引用系统版本
which pdb # returns /usr/bin/pdb
Run Code Online (Sandbox Code Playgroud)
将可执行文件pdb复制到您的环境中,并将 shebang(第一行)设置#!/usr/bin/python为#!/usr/bin/env python。如果您希望这是任何环境(包括系统 pdb)的默认行为,则只能在/usr/bin/pdb.
| 归档时间: |
|
| 查看次数: |
3295 次 |
| 最近记录: |