2017-10-02 16 views
2

私は私のpythonプロジェクトに取り組んでいます。私はそれをアプリケーションのように実行できるようにしたいと思っていました。だから私はそれのためのGUIを作ったと私は使用するために他の人のためにそれを配布したい。しかし、私は要求とtkinterのようなパッケージを使用しました。プログラムをより移植性の高いものにするにはどうすればいいですか?人々は.pyファイルをクリックするだけで、私のguiはちょうど出てくるでしょう。どうすればPythonコードを配布できますか?

#!/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() 

EDIT:私が探していたものが見つかりました。私はpyinstallerの効果に何かを探していた

+4

[MacとWindowsユーザにPythonアプリケーションをデプロイする](https://stackoverflow.com/questions/3379032/deploying-python-app-to-mac-and-windows-users)と[pythonアプリケーションをデプロイする](https://stackoverflow.com/q/9421373/62576) –

答えて

1

あなたはいくつかの方法でこれを行うことができます。

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をチェックアウトすることができます。

+0

私はOPがコードを配布する手段を求めているのではなく、ポータブルにすることでユーザーが依存関係をインストールする必要がないと考えています。 –

+0

うわー、私はそれを編集しました。 –

関連する問題