2017-02-13 5 views
-1

Pycharmでコードを実行すると、Excelファイルが解析され、IDE内のすべてが正しくマージされます。しかし、私はcx_Freezeを使用して実行可能ファイルにビルドすると動作しなくなります。実行ファイルをダブルクリックすると、何もしません。黒のコンソールウィンドウがすばやく点滅します。何が与える。 Pycharmにスタックトレースやエラーはありません。PythonスクリプトはIDEで動作しますが、実行可能ファイルに組み込まれている場合は動作しません。

sideffect0 @
[In:] 

import numpy as np 
import pandas as pd 

#finds the path to a users pc. 
userHome = os.path.expanduser('~') 
directory = userHome + '/Desktop/Parsing Script/ParsingScriptOutputFile/' 
workerList= (directory+'employeeList.csv') 
managerList = (userHome+'/Parsing Script/ParsingScriptOutputFile/managerList.XLSX') 

# specify 32 columns, no headers 
employee = pd.read_csv(workerList, usecols=range(32), header=None, sep=",",engine='python') # read in the data 
original_rows = employee.shape[0] # original number of rows 
managers = pd.read_excel(managerList) 
managers= managers[['Cost Center','Profit Center','User ID', 'Description','Email address','Person Responsible']] 

# Left join so that the rows that do not match are not dropped from employee 
# data 
merged_df = pd.merge(employee, managers, on='key', how='left') 

# Number of rows should be unchanged 
# This should print out True 
print(merged_df.shape[0] == original_rows) 
#File called merged_data.csv returned to ParsingScriptOutputFile 
return merged_df.to_csv(directory+'merged_data.csv', index=False, encoding='utf-8') # Save  

(アドバイスに感謝) のフルトレースバックの問題は、モジュールが正しくsetup.pyファイルでインストールされなかった

Traceback (most recent call last): 
    File "C:\Python\lib\site-packages\cx_Freeze\initscripts\__startup__.py", line 12, in <module> 

    __import__(name + "__init__") 
    File "C:\Python\lib\site-packages\cx_Freeze\initscripts\Console.py", line  24, in <module> 
    exec(code, m.__dict__) 
    File "csvProject1.py", line 3, in <module> 
    File "C:\Python\lib\site-packages\numpy\__init__.py", line 142, in <module> 
from . import add_newdocs 
    File "C:\Python\lib\site-packages\numpy\add_newdocs.py", line 13, in <module> 
    from numpy.lib import add_newdoc 
    File "C:\Python\lib\site-packages\numpy\lib\__init__.py", line 8, in <module> 
from .type_check import * 
    File "C:\Python\lib\site-packages\numpy\lib\type_check.py", line 11, in <module> 
    import numpy.core.numeric as _nx 
    File "C:\Python\lib\site-packages\numpy\core\__init__.py", line 36, in <module> 
    from . import numeric 
    File "C:\Python\lib\site-packages\numpy\core\numeric.py", line 1842, in <module> 
    from .arrayprint import array2string, get_printoptions, set_printoptions 
    File "C:\Python\lib\site-packages\numpy\core\arrayprint.py", line 24, in <module> 
from .fromnumeric import ravel 
    File "C:\Python\lib\site-packages\numpy\core\fromnumeric.py", line 15, in <module> 
    from . import _methods 
ImportError: cannot import name '_methods' 
+0

は同じファイルパスですか?別のマシンで 'exe'を実行しようとしている可能性がありますので尋ねます。 – WhatsThePoint

+0

コマンドラインから 'exe'を実行するとどうなりますか? – asongtoruin

+2

私はあなたが窓口にいると思う、コマンドプロンプトを開く(Win + R - > cmd)、 そこからプログラムを実行すると、トレースバックが追加され、この質問のトレースバックが追加されます。 –

答えて

1

:ここ

は、参考のために私のコードです私は this codeこのstackoverflowの答えから@ダウンシフトリンク私を使用しました。また、私はnumpyのインストールが壊れていることがわかりました。だから私はすぐにアンインストールして再インストールしました。スクリプトを実行可能ファイルに再構築すると、完全に機能しました。

完全なトレースバックを取得するには、コマンドラインで実行可能ファイルに移動し、ファイル名を入力してください。これを行うより速い方法は、altを押し続け、あなたのexeが入っているファイルを右クリックしてからopen command windowを開くと、ファイルの場所にcmdが表示されます。トレースバックを取得するためにプログラムを実行してください

関連する問題