当我在Pycharm中运行我的代码时,它解析我的Excel文件并在IDE中正确合并所有内容。但是,我使用cx_Freeze将其构建为可执行文件,它将停止工作。当我双击可执行文件时,它什么都没有。黑色控制台窗口快速闪烁。是什么赋予了。 Pycharm中没有堆栈跟踪或错误。
以下是我的参考代码:
[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
@ sideffect0(感谢您的建议) 完全追溯
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 :(得分:1)
问题是模块没有正确安装在setup.py文件中,我使用了@downshift链接我的stackoverflow回答中的this code。我还发现我的numpy安装已损坏。所以我快速卸载并重新安装了。将脚本重建为可执行文件,它完美地运行。
为了获得完整的回溯,我在命令行中导航到可执行文件并输入文件名。更快捷的方法是按住alt
并右键单击包含exe的文件,然后单击打开open command window
这将为您打开文件位置的cmd。运行您的程序以获取追溯