กำหนดค่า IPython ให้แสดงคำเตือนตลอดเวลา

ครั้งแรกที่ฉันทำสิ่งที่ทำให้เกิดคำเตือนในเชลล์ IPython ฉันเห็นมัน แต่ครั้งต่อไปฉันไม่ทำ ตัวอย่างเช่น,

In [1]: import numpy as np
In [2]: np.uint8(250) * np.uint8(2)
/Users/me/anaconda/envs/py33/bin/ipython:1: RuntimeWarning: overflow encountered in ubyte_scalars
#!/bin/bash /Users/me/anaconda/envs/py33/bin/python.app
Out[2]: 244

In [3]: np.uint8(250) * np.uint8(2)
Out[3]: 244       # No warning!

ฉันจะกำหนดค่า IPython ให้แสดงคำเตือนเสมอได้อย่างไร ฉันพยายามแล้ว:

import warnings
warnings.filterwarnings('always')

แต่นั่นไม่ได้สร้างความแตกต่าง


person xnx    schedule 05.01.2015    source แหล่งที่มา
comment
IPython ไม่ได้ควบคุมสิ่งนั้น ฉันมีพฤติกรรมเดียวกันแม้ในล่าม Python ธรรมดา   -  person BrenBarn    schedule 05.01.2015


คำตอบ (1)


ฉันคิดว่าปัญหานี้ได้รับการแก้ไขแล้วเมื่อเร็วๆ นี้โดยทีมงาน IPython มันเล่นได้ไม่ดีกับ warnings เนื่องจากการตัดสินใจออกแบบที่ค่อนข้างผิดปกติ ทัวริง always ก็เพียงพอแล้วสำหรับฉันใน Python ธรรมดา และตอนนี้ถ้าฉันทำสิ่งเดียวกันใน IPython trunk:

In [1]: import warnings

In [2]: warnings.filterwarnings('always')

In [3]: import numpy as np

In [4]: np.uint8(250) * np.uint8(2)
/home/dsm/sys/root/bin/ipython3.4:1: RuntimeWarning: overflow encountered in ubyte_scalars
  #!/home/dsm/sys/root/bin/python3.4
Out[4]: 244

In [5]: np.uint8(250) * np.uint8(2)
/home/dsm/sys/root/bin/ipython3.4:1: RuntimeWarning: overflow encountered in ubyte_scalars
  #!/home/dsm/sys/root/bin/python3.4
Out[5]: 244
person DSM    schedule 05.01.2015