[英]How would I distribute python code?
我在我的一个 python 项目上工作,我希望它能够像应用程序一样运行。 所以我为它制作了一个 gui,我想将它分发给其他人使用。 但我使用了请求和 tkinter 之类的包。 我如何使程序更便携? 所以人们只需点击 .py 文件,我的 gui 就会出现。
#!/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]
了,依赖会自动安装。 在此处阅读如何操作。
如果您只是在寻找一种简单的方法来安装依赖项:
您可以使用 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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.