2011-01-26 6 views
0

私はPythonスクリプトを実行してAdwords APIからデータを取得しており、CentOSサーバーで正常に実行されています。 Ubuntuサーバーで同じ設定ファイルとスクリプトを使用すると、ユニコードエラーが発生します。変更が必要な設定がいくつかありますか?あるサーバーでPythonスクリプトのUnicode関連のValidationErrorを取得するのはなぜですか?

{ 
    ... 
    "api_config": { 
    "home": "/srv/logs/pylons", 
    "log_home": "/srv/logs/pylons", 
    "soap_lib": "2", 
    "xml_parser": "1", 
    ... 
    } 
} 

Ubuntuのサーバ(ただし、CentOSのサーバー)上でUnicodeのエラーをスローするようにライン「1」を引き起こしている可能性がありますどのような:

Traceback (most recent call last): 
    File "adwords_sync.py", line 230, in <module> 
    adwords = AdWords(config) 
    File "adwords_sync.py", line 37, in __init__ 
    self.client = AdWordsClient(headers=config.api_headers, config=config.api_config, path=config.api_config['home']) 
    File "lib/python2.6/site-packages/adspygoogle/adwords/AdWordsClient.py", line 153, in __init__ 
    SanityCheck.ValidateConfigXmlParser(self._config['xml_parser']) 
    File "lib/python2.6/site-packages/adspygoogle/common/SanityCheck.py", line 96, in ValidateConfigXmlParser 
    raise ValidationError(msg) 
adspygoogle.common.Errors.ValidationError: Invalid input for <type 'unicode'> '1', expecting 1 or 2 of type <str>. 

設定ファイルはJSONファイルのですか?

答えて

0

各サーバーでpython、adsygoogle、およびsimplejsonのバージョンを確認してください。私はそれらのうちの1つがあなたのサーバーのいずれかで同期していないと推測しています。その結果、AdWordsはユニコード文字列を受け取りますが、シンプルな構文解析ではユニコード文字列を生成しません。

これは失敗します.AdWordsの設定パーサーに渡す前に、値をstr()としてキャストできますか?

関連する問題