2017-02-20 76 views
0

tarendからtSystemモジュールを使用して実行しようとしている.pyファイルがあります。私は以下のエラーに陥っています。PythonスクリプトファイルをTalend tSystem経由で実行しているときにエラーが発生しました

Starting job MyJob at 07:06 20/02/2017. 

[statistics] connecting to socket on port 3364 
[statistics] connected 
Traceback (most recent call last): 
    File "H:\Talend POC\NameParsingUSData.py", line 7, in <module> 
    from unidecode import unidecode 
ImportError: No module named 'unidecode' 
[statistics] disconnected 
Job MyJob ended at 07:06 20/02/2017. [exit code=0] 

これはジョブの様子です。

奇妙なのは、.pyファイルをダブルクリックすると実行され、正常に結果が得られます。私はまた、コマンドプロンプトで、talendの外でcmdコマンドラインを使ってファイルを実行しようとしました。何が原因でエラーが発生するのか不明です。以下は私のPythonスクリプトです。

それは成功し、最初のライブラリをインポートし、エラーが

すべてのヘルプ「unicode」第二のライブラリのインポートから開始すること

import os 
from unidecode import unidecode 
import pandas as pd 

dat = pd.read_csv("H:\\Talend POC\\1M_dummyData.csv") 

df1.myvar = df1.myvar.str.replace(r"[^a-zA-Z., ]",r' ') 
df1.myvar = df1.myvar.str.replace('\s+', ' ') 
df1.myvar = df1.myvar.str.lstrip(".,' ") 
df=df1.as_matrix() 

df1.to_csv("H:\\Talend POC\\results_USvalidemail_parse.csv",header=True,index=False, encoding='utf-8') 

注意?

+0

あなたのサーバーで 'pip install unidecode'を実行しようとしましたか? – ishaan

+0

@ishaan私はローカルマシンでこれをやっています。私はすでに自分のマシンにインストールしました。 – Enthusiast

+0

また、あなたのコードは 'unidecode'ライブラリを使用していないようですが、インポート行を削除してください。 – ishaan

答えて

1

私はそれがなぜ機能するのかわかりませんが、これは私のハックです。私は、Talendのデータ統合・ダンプに存在するすべての.pyファイルを検索し、私は、コマンドラインで、このディレクトリにライブラリをインストールしようとしたディレクトリ

C:\Users\user\Downloads\TOS_DI-20161216_1026-V6.3.1\plugins\org.apache.ant_1.9.2.v201404171502\bin 

で唯一のを見つけました。

まず、次のコードをコマンドラインで実行して、ディレクトリに移動します。

cd /d C:\Users\user\Downloads\TOS_DI-20161216_1026-V6.3.1\plugins\org.apache.ant_1.9.2.v201404171502\bin 

第二に、私は才能ジョブを再実行し、それが成功して実行したコマンドpip install unidecode

を使用してunidecodeライブラリをインストール!

tarting job MyJob at 08:05 20/02/2017

[statistics] connecting to socket on port 3983 
[statistics] connected 
[statistics] disconnected 
Job MyJob ended at 08:05 20/02/2017. [exit code=0] 
関連する問題