小编Fen*_*III的帖子

2020年Python打包

我试图在开发我的 Python 应用程序时养成良好的习惯,并将它们组织起来,就好像它们将来会一直被其他人使用一样。其中一个关键部分是包装方面。

我已经阅读了一定数量的帖子、讨论和 pep 517/518。但是,我仍然不完全了解如何正确组织我的文件以进行打包。

我决定跟随setup.cfg路径而不是pyproject.toml路径。那件事很清楚。我将在setup.cfg.

我也在使用virtualenv并且我知道与开发相关的包 ( black, pytest,...) 应该在一个单独的文件中定义setup.cfg,通常一个名为requirements.txt. 有一点不清楚:应该setup.cfg是一个子集requirements.txt并因此重复一些信息?这似乎是不好的做法,并且在某些时候肯定会变得断开连接并且难以维护。

我试图找到这个问题的答案。我找到了这篇文章,但我不明白如何添加它

--index-url https://pypi.python.org/simple/ 
-e .
Run Code Online (Sandbox Code Playgroud)

在 requirements.txt 中有助于避免问题甚至处理开发依赖项。

当他提出以下可能性时,我更加迷茫了:

--index-url https://pypi.python.org/simple/ 
-e https://github.com/foo/bar.git#egg=bar
-e .
Run Code Online (Sandbox Code Playgroud)

这达到了什么目的?

最后,该setup.cfg方式是否与车轮包的构建兼容?

python packaging pip

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

tqdm 以人类可读的单位显示下载

我正在使用 tqdm 和 requests 来管理 Python 中的文件下载。但是我不知道如何使 tqdm 以人类可读的格式(即以 MB/s 为单位)显示进度条。

这是我的代码

import requests
import os
from tqdm import tqdm

def download_file(url, local_path="./"):
    local_filename = url.split('/')[-1]
    path = local_path + local_filename

    r = requests.get(url, stream=True)
    total_size = int(r.headers.get('content-length', 0))
    chunk_size = 32*1024
    with open(local_filename, 'wb') as f:
        # 1KB = 1024 bytes
        for chunk in tqdm(r.iter_content(chunk_size), total=total_size, unit_scale=True, 
                          unit_divisor=1024):
            if chunk:
                f.write(chunk)

    return path

weightLink = "https://pjreddie.com/media/files/yolov3.weights"
weigthPath = r"/PyTorch-YOLOv3/weights/"
weightLink = "https://pjreddie.com/media/files/yolov3.weights"
download_file(weightLink, weigthPath)
Run Code Online (Sandbox Code Playgroud)

使用上面的代码,下载大小的进度是错误的,我在 中看到下载速度it/s。我希望所有内容都以MB/s …

python-3.x python-requests tqdm

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

yoloV3 (AlexeyAB):费率为 0.0000

我正在使用 yoloV3 在我自己的训练集上进行训练。我已经正常编译,准备训练集,修改配置文件,.data,...

但是在训练时,yolo 输出关于学习率(即速率)保持在 0 即

 27: 1987.573730, 1807.166748 avg loss, 0.000000 rate, 2.820172 seconds, 216 images Loaded: 0.000047 seconds
Run Code Online (Sandbox Code Playgroud)

我不明白为什么?在配置文件中,训练率等于 0.001

object-detection computer-vision deep-learning yolo

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

Tkinter退出冻结

我编写了一段非常简单的代码片段来尝试tkinter:

import tkinter as tk

root=tk.Tk()
frame = tk.Frame(root).pack()
button = tk.Button(frame,
                   text="next",
                   command=root.quit).pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

上面的代码导致窗口冻结.有人可以向我解释这种行为背后的原因是什么?

python tkinter

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

类、记录、结构或接口成员声明中的标记“(”无效

我正在学习 Blazor 和 C#(两者都是新的),并且正在玩我的一个宠物项目。

对于该项目,我编写了一个Project.cs文件,位于按照Data教程创建的结构的目录中。

在某些时候,我需要一个字典数据结构,我尝试在类中创建这样的数据结构:

namespace MyApp.Data;

public class Project
{
    public Project()
    {
    }

    Dictionary<string, string> openWith =
    new Dictionary<string, string>();

    // Add some elements to the dictionary. There are no
    // duplicate keys, but some of the values are duplicates.
    openWith.Add("txt", "notepad.exe");
    openWith.Add("bmp", "paint.exe");
    openWith.Add("dib", "paint.exe");
    openWith.Add("rtf", "wordpad.exe");
}
Run Code Online (Sandbox Code Playgroud)

但是当我直接Invalid token '(' in class, record, struct, or interface member declaration从 Microsoft文档中获取这些行时,我收到了错误

我究竟做错了什么 ?

c# blazor blazor-server-side

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

在AWS CDK中识别生产和开发环境的正确方法是什么?

我正在学习 AWS 云开发套件 (CDK)。

作为学习的一部分,我试图了解我应该如何正确处理生产和开发环境。

我知道AWS CDK提供了环境参数来允许将堆栈部署到特定帐户。

但是,如何为开发堆栈和生产堆栈提供特定的选项呢?AWS CDK 似乎没有默认提供它,或者我是否遗漏/误解了某些内容?

一个非常简单的例子是,我想要一个my-s3-bucket-dev为我的开发帐户调用的 S3 存储桶,以及一个my-s3-bucket-prod为我的生产帐户命名的 S3 存储桶。但是如何stage在 AWS CDK 中正确处理变量?

我知道我可以在cdk.json文件中添加参数,但同样,我不知道如何正确使用此文件来依赖于已部署的堆栈,即生产与开发。

感谢您的支持

aws-cdk

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