小编Tro*_*r Z的帖子

在iPython笔记本中调试的正确方法是什么?

据我所知,%debug magic可以在一个单元格内进行调试.

但是,我有跨多个单元格的函数调用.

例如,

In[1]: def fun1(a)
           def fun2(b)
               # I want to set a breakpoint for the following line #
               return do_some_thing_about(b)

       return fun2(a)

In[2]: import multiprocessing as mp
       pool=mp.Pool(processes=2)
       results=pool.map(fun1, 1.0)
       pool.close()
       pool.join
Run Code Online (Sandbox Code Playgroud)

我尝试了什么:

  1. 我试着设置%debug在cell-1的第一行.但它甚至在执行cell-2之前立即进入调试模式.

  2. 我试图%debug在代码之前添加行return do_some_thing_about(b).但随后代码永远运行,永不停止.

在ipython笔记本中设置断点的正确方法是什么?

python ipython python-2.7 pdb jupyter-notebook

110
推荐指数
9
解决办法
8万
查看次数

在Ubuntu 12.04中导入Python 2.7中的Tensorflow时出错.'找不到GLIBC_2.17'

我已成功安装了Tensorflow绑定和python.但是当我尝试导入Tensorflow时,我得到了以下错误.

ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.17' not found (required by /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so)
Run Code Online (Sandbox Code Playgroud)

我试图将GLIBC_2.15更新为2.17,但没有运气.

python ubuntu glibc tensorflow

43
推荐指数
4
解决办法
7万
查看次数

如何从表中删除记录?

从SQLite3数据库中删除记录时遇到问题:

conn = sqlite3.connect('databaza.db')
c = conn.cursor()
data3 = str(input('Please enter name: '))
mydata = c.execute('DELETE FROM Zoznam WHERE Name=?', (data3,))
conn.commit()
c.close
Run Code Online (Sandbox Code Playgroud)

一切都好,没有错误,但删除功能不起作用!

有没有人有想法?

python sqlite python-3.x

18
推荐指数
2
解决办法
5万
查看次数

Python PyCrypto使用AES加密/解密文本文件

我已经有了一个工作程序,但唯一不起作用的是decrypt_file()我的功能.我仍然可以从文件中复制加密文本并将其放入我的decrypt()函数中并使其工作,但是当我尝试使用我应该使用的方便decrypt_file()函数时,它会抛出错误.现在我知道99.999%确定我encrypt()decrypt()函数都没问题,但是当我读取并编码抛出错误的文本文件时,会有字节和字符串转换的内容; 我只是找不到挂断.请帮忙!

我的计划:

from Crypto import Random
from Crypto.Cipher import AES

def encrypt(message, key=None, key_size=256):
    def pad(s):
        x = AES.block_size - len(s) % AES.block_size
        return s + ((bytes([x])) * x)

    padded_message = pad(message)

    if key is None:
        key = Random.new().read(key_size // 8)

    iv = Random.new().read(AES.block_size)
    cipher = AES.new(key, AES.MODE_CBC, iv)

    return iv + cipher.encrypt(padded_message)

def decrypt(ciphertext, key):
    unpad = lambda s: s[:-s[-1]]
    iv = ciphertext[:AES.block_size]
    cipher = AES.new(key, AES.MODE_CBC, iv) …
Run Code Online (Sandbox Code Playgroud)

python encryption file aes pycrypto

11
推荐指数
1
解决办法
4万
查看次数

调试器在"收集数据......"时超时

我正在3.5使用PyCharm Community Edition 2016.2.2 ; Build #PC-162.1812.1, built on August 16, 2016 ; JRE: 1.8.0_76-release-b216 x86 ; JVM: OpenJDK Server VM by JetBrains s.r.oWindows 10上的PyCharm()调试Python()程序.

问题:当在某些断点处停止时,调试器窗口停留在"收集数据",最终超时.(无法显示帧变量)

要显示的数据既不特殊,也不特别大.它以某种方式可用于PyCharm,因为所述数据的某些值的条件断点工作正常(程序中断) - 看起来收集它仅用于显示(与操作目的相反)的过程失败.

当我进入我的断点周围的函数时,它的数据显示正确.当我向上移动堆栈(到调用函数,我从那里退出的那个以及我最初想要断点的那个)时 - 我再次陷入"收集数据"超时.

至少自2005年以来,出现了许多同样问题.一些是固定的,一些不是.修复通常是对最新版本的更新(我有).

我是否可以采取一般方向来解决或解决这一系列问题?


编辑:一年后,问题仍然存在,并且在bug被提出之后仍然没有来自开发者/支持者的反应.


编辑2018年4月:看起来问题在2018.1版本中得到解决,下面的代码print在线上设置断点时挂起现在可以工作(我可以看到变量):

import threading

def worker():
    a = 3
    print('hello')

threading.Thread(target=worker).start()
Run Code Online (Sandbox Code Playgroud)

python debugging pycharm python-3.x python-3.5

11
推荐指数
5
解决办法
2429
查看次数

对于py2app独立构建,"无法找到Python运行时"

我正在尝试使用py2app将我编写的简短Python程序转换为OS X的易于分发的应用程序文件.我是通过py2app教程完成的,但当我点击我的应用程序文件时,会显示以下对话框:

找不到Python运行时.您可能需要安装Python的框架版本,或者在此应用程序的Info.plist文件中编辑PyRuntimeLocations数组.这是我第一次构建一个软件,为任何明显的失误道歉.

我不确定这是否有用,但从该对话框中单击"打开控制台"会显示以下错误:

  • LaunchServices: Could not store lsd-identifiers file at /private/var/db/lsd/com.apple.lsdschemes.plist
  • launchservicesd[83]: SecTaskLoadEntitlements failed error=22
  • appleeventsd[53]: SecTaskLoadEntitlements failed error=22 11/27/16 7:29:19.787 PM
  • sharedfilelistd[307]: SecTaskLoadEntitlements failed error=22

我知道如果py2app使用Python的"系统"版本来生成应用程序,它将不会在分发中包含该Python.但是,进入$终端中的哪个python将我引导到我的anaconda安装,所以这似乎不是问题.

这是我第一次尝试创建一个软件,所以要提前为任何明显的失误道歉.我将非常感谢任何帮助,因为我一整天都在喋喋不休.

python software-distribution py2app

8
推荐指数
0
解决办法
804
查看次数

如何将Tkinter与Python登录屏幕集成?

我正在使用Tkinter在这里创建一个登录屏幕.目前,底部的"保持登录状态"按钮是多余的,并且将保持不变.我想要做的是使用此代码:

from tkinter import *

root = Tk()

label_1 = Label(root, text="Username")
label_2 = Label(root, text="Password")

entry_1 = Entry(root)
entry_2 = Entry(root)

label_1.grid(row=0, sticky=E)
label_2.grid(row=1, sticky=E)
entry_1.grid(row=0, column=1)
entry_2.grid(row=1, column=1)

checkbox = Checkbutton(root, text="Keep me logged in")
checkbox.grid(columnspan=2)
Run Code Online (Sandbox Code Playgroud)

和这个结合:

username = "john"
input("Username: ")
while not username:
    if username == "john":
        print("Welcome")
    else:
        print("User not found")


password = "password"
while not password:
    input("password: ")
    if password == "password":
        print("Logged in")
    else:
        print("Incorrect password")
Run Code Online (Sandbox Code Playgroud)

然而,登录代码不起作用,然后我不知道从哪里开始将两者相互集成.我是python的新手,对Tkinter更是如此,但我非常渴望得到这个帮助!

提前致谢!

python login screen tkinter

7
推荐指数
1
解决办法
4万
查看次数

图表已断开连接:无法获取张量张量输入Keras Python的值

我有以下代码:

# Declare the layers
inp1 = Input(shape=input_shape, name="input1")
inp2 = Input(shape=input_shape, name="input2")


# 128 -> 64
conv1_inp1 = Conv2D(start_neurons * 1, 3, activation="relu", padding="same")(inp1)
conv1_inp2 = Conv2D(start_neurons * 1, 3, activation="relu", padding="same")(inp2)
conv1 = Concatenate()([conv1_inp1, conv1_inp2])
conv1 = Conv2D(start_neurons * 1, 3, activation="relu", padding="same")(conv1)
conv1 = MaxPooling2D((2, 2))(conv1)
conv1 = Dropout(0.25)(conv1)

# 64 -> 32
conv2 = Conv2D(start_neurons * 2, (3, 3), activation="relu", padding="same")(conv1)
conv2 = Conv2D(start_neurons * 2, (3, 3), activation="relu", padding="same")(conv2)
pool2 = MaxPooling2D((2, 2))(conv2)
pool2 = …
Run Code Online (Sandbox Code Playgroud)

python input keras

5
推荐指数
2
解决办法
7717
查看次数

Flask TypeError:“NoneType”类型的参数不可迭代

我不确定为什么会收到此类型错误:

文件“C:/Users/PycharmProjects/REST/app.py”,第30行,在valid_book_object中if(“isbn”在书中,“名称”在书中,“价格”在书中):TypeError:类型为“NoneType”的参数不可迭代 127.0.0.1 - - [12/Nov/2018 14:22:29] "POST /books HTTP/1.1" 500 -

代码:

from flask import Flask, jsonify, request
from test import *
app=Flask(__name__)

books=[
    {'name': 'M',
     'price': 6.75,
    'isbn':123
    },
    {'name': 'G',
     'price': 7.75,
    'isbn':456
    },

]


#GET /store
@app.route('/books')  #first endpoint
def get_books():
    return jsonify({'books': books})

# POST /books
#{'name': 'F',
 #'price': 7.00,
 #'isbn': 789
 #},

def valid_book_object(book):
    if ("isbn" in book and "name" in book and "price" in book):
         return True
         print("true")
    else:
        return False
        print("false")


@app.route('/books', …
Run Code Online (Sandbox Code Playgroud)

pycharm python-3.x flask-restful

5
推荐指数
1
解决办法
4372
查看次数

在python中每秒获取gif的帧数?

在 python 中,我用 PIL 加载了一个 gif。我提取第一帧,修改它,然后放回去。我用以下代码保存修改后的gif

imgs[0].save('C:\\etc\\test.gif',
           save_all=True,
           append_images=imgs[1:],
           duration=10,
           loop=0)
Run Code Online (Sandbox Code Playgroud)

其中 imgs 是组成 gif 的图像数组,持续时间是帧之间的延迟(以毫秒为单位)。我想让持续时间值与原始 gif 相同,但我不确定如何提取 gif 的总持续时间或每秒显示的帧数。

据我所知,gifs 的头文件不提供任何 fps 信息。

有谁知道我如何获得正确的持续时间值?

提前致谢

编辑:要求的 gif 示例:

在此处输入图片说明

这里取回。

python gif animated-gif python-imaging-library python-3.x

3
推荐指数
1
解决办法
4934
查看次数

python中的生成器错误

我仍然是python中的新生成器.我自己尝试了一个并尝试了一些非常简单的事情:

def fib(a):
...     if a==0 or a==1:return 1
...     yield fib(a-1)+fib(a-2)
print(list(fib(5))
Run Code Online (Sandbox Code Playgroud)

这段代码给了我这个错误:

TypeError: unsupported operand type(s) for +: 'generator' and 'generator'
Run Code Online (Sandbox Code Playgroud)

不能以这种方式使用发电机吗?

python generator fibonacci python-3.x

1
推荐指数
1
解决办法
480
查看次数