2016-09-09 6 views
0

いいえ、私はPyInstallerを使ってPygameで作った宿題を作りました。クール。実行ファイルはうまく動作します。PyInstallerのワンフォルダビルドからクラッタを削除するには?

問題は、実行可能ファイルと並んで問題が非常に混乱しています。 pydsやdllのような多くのファイルが同じディレクトリのexeに付いているので、見栄えが悪くなります。

ここで、これらのファイルは重要であることがわかりました。 Pygameのような私が使用したモジュールは、それらを動作させる必要があります。それでも、PyInstallerを自分のゲームを構築するにはどうしたらいいですか?私は手動でフォルダを作成してそこのファイルを移動することができますが、exeが機能しなくなります。

もしこの情報が役に立ったら、私はPython 3.4.3を使い、Windows上にいます。

+0

私は以前同じ問題を抱えていましたが、「.exe」というショートカットを作成して解決しました。 – Repiklis

+0

@Repiklisどのようにして、エンドユーザは何もする必要がないでしょうか?ショートカットを作成すると、コンピュータの特定のパスでのみ動作します。彼らは別のコンピュータにあるので、私は誰かにプログラムを送信すると、それは動作しません。 – Tespy

+0

問題はショートカットで宣言されたプログラムフォルダです。私は現時点では窓のPCではないと私の記憶は少し霧がある。私が正しく覚えていれば、ショートカットのプロパティに移動し、 "開始"フォルダを削除する必要があります。私は明日それを試してみましょう。あなたが私にそれを打つなら、私に知らせてください。 – Repiklis

答えて

0

明らかにこれはopen request for pyinstallerですが、過去2年間で発生していません。

この問題を回避するには、すべてのファイルを含む.exeフォルダよりも1つ上のショートカットフォルダを作成してください。

ここで難しいのは、すべてのPCで動作するようにショートカットを設定することです。 I did two things in the shortcut properties。 「ターゲット」として設定し、パス

    1. は「の開始」:削除"%windir%\system32\cmd.exe" /c start "" "%CD%\YourFolder\YourEXE.exe"

    をもう一つはコマンドラインを呼び出して、相対パスを使用してexeファイルを起動します。私はWindows 7でのみテストしました。欠点は、これがコマンドラインへのショートカットになり、コンソールウィンドウが表示されることです。

    別のオプションは、.exeより高い1つのフォルダにバッチファイルを作成して呼び出すことです。これはコンソールウインドウだけを短く表示しますが、あなた自身のアイコンを設定することはできません。あなたのコードを起動するサンプルコード:

    @echo off 
    setlocal enabledelayedexpansion enableextensions 
    set CDir=%~dp0 
    set EXEF=%CDir%MyEXEFolder\ 
    cd %EXEF% 
    start "MyCode" "MyCode.exe" 
    exit 
    

    だけで、メモ帳を開き、コードを追加し、.batファイルとして保存します。

    This answerも、py2exeの回避策について説明していますが、同様の方法をpyinstallerで使用できます。しかし、私はこれはかなり "醜い"と私はそれが1つのフォルダ内のすべての依存関係を収集することは簡単であるかどうかはわかりません。

    Relativeもありますが、別のプログラムを使用したくありませんでした。

  • +0

    手順2について、「%CD」の部分は何ですか? – Tespy

    +0

    (http://stackoverflow.com/questions/4419868/what-is-the-current-directory-in-a-batch-file)[%CD%は、現在の作業ディレクトリです]。ダブルクリックするとショートカットを含むフォルダです。 – Repiklis

    +0

    それを試して、それは動作します。しかし、コマンドウィンドウを表示しない別の方法はありませんか? – Tespy

    関連する問題