python - 我将如何分发 python 代码?

标签 python python-3.x packaging

我正在开发我的 python 项目,我希望它能够像应用程序一样运行。所以我为它做了一个图形用户界面,我想把它分发给其他人使用。但我使用了像请求和 tkinter 这样的包。我怎样才能使程序更便携?这样人们只需单击 .py 文件,我的图形用户界面就会出现。

#!/usr/bin/env python3
# imports
import requests
import time
from tkinter import *
import random

# variables
test = 'https://api.nicehash.com/api?method=stats.provider.ex&addr=37sCnRwMW7w8V7Y4zyVZD5uCmc9N1kZ2Q8&callback=jQuery111304118770088094035_1506738346881&_=1506738346882'
url = 'https://api.coinbase.com/v2/prices/USD/spot?'



# def function to update
def update_bitcoin_ui():

    # update the data sourced form the website
    req = requests.get(url)
    data = req.json()
    bit = (data['data'][0]['amount'])

    # update the gui to reflect new value
    thelabel.config(text = "1 BTC = %s USD" % bit)

    # verify the Ui is updating
    #thelabel.config(text=str(random.random()))
    root.after(1000, update_bitcoin_ui)

# gui workspace
root = Tk()
thelabel = Label(root, text = "")

# set more of the gui and launch the ui
thelabel.pack()
root.after(1000, update_bitcoin_ui)
root.mainloop()

编辑:我找到了我要找的东西。我一直在寻找 pyinstaller 的效果

最佳答案

您可以通过几种方式做到这一点。

使用像 GitHub 这样的东西.注册然后创建存储库。用户可以转到您的存储库 (https://GitHub.com/username/repo_name) 并通过浏览器下载它。或者,*nix 用户可以执行 git clone https://GitHub.con/username/repo_name

或者,将您的脚本上传到 PyPi。然后,您可以在 Windows/*nix 上执行 pip install [package name],依赖项将自动安装。阅读如何操作 here .

如果您只是在寻找一种简单的方法来安装依赖项:

您可以使用 requirements.txt,这是一个包含所有依赖项的文本文件。然后用户可以执行 pip install -r requirements.txt,您的所有依赖项都将被安装。

或者,您可以创建一个 setup.py。它会包含诸如您的依赖项、作者等信息。然后用户可以使用 python setup.py install 安装它。

最后,您可以像这样简单地创建一个 try/except 语句:

import pip
try:
    import module
except:
    pip.main(['install', 'module'])

但是等等!也许您的用户没有 Python。没有人愿意安装所有这些只是为了一些用途。在这种情况下,您可以查看 Py2Exe。

关于python - 我将如何分发 python 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531170/

相关文章:

python - 如何在 Scikit-Learn 中对训练和测试数据进行分层?

python - 生成HMAC SHA256签名Python

python - kivy Spinner 打不开

linux - 在 Debian 打包期间运行脚本

java - Maven: assembly-plugin 根本没有运行

python - 如何找到 Python 对象的隐藏属性? (未出现在 dir(obj) 列表中的属性)

python - 如何在 Mac OS 上通过 pip 安装 mtools?

packaging - 使用 dput 将包上传到 launchpad-ppa : No host found in config

python - 如何运行文本文件中包含的可执行文件(exe 的十六进制)

python - 将字符串格式的方程转换为 Line(geometry) 对象