2016-04-05 8 views
1

64ビット仮想env python 2.7.6でWindows上でxlwings 0.7.1 UDFを使用しています。 モジュールへのフルパスを要求するのではなく、モジュール名が必要になることがわかりました。しかし、モジュール名の先頭にパッケージ名がある場合、UDFを暗黙的にインポートするのに失敗します。例えば:私はPYTHONPATHにUDF_MODULESからパッケージ名 'のpkg' を移動場合excel xlwings_udfsモジュールが空です

PYTHONPATH = ThisWorkbook.Path & ";C:\pathTo\Pydev\myproj\src" 
UDF_MODULES = "pkg.myudfs" 

、それは( '輸入pkg.module2' のような)myudfs.py内部の輸入で失敗します。 はヒット&裁判の後、私は複数のソースフォルダを追加することによって、それを修正:

PYTHONPATH = ThisWorkbook.Path & ";C:\pathTo\Pydev\myproj\src\pkg;C:\pathTo\Pydev\myproj\src" 

は、私がこれを行うするには? UDF_MODULESがsrcフォルダをベースにして、 'pgk.myudfs'のような修飾モジュール名を指定するだけでいいですか?

答えて

1

あなたは今実際にそれを今行っています(v0.7.1)。私はGitHubにissueをオープンしましたので、将来のリリースでこれを簡単にするかもしれません。

+0

ありがとうございました。 Btw、pipインストールに関するコメント。 ** virtual env **を使用してインストールすると、xlwings DLLが自動的にScriptsディレクトリにコピーされないようです。 'xlwings.exe'& 'xlwings-script.py'のような他のファイルはScriptsフォルダに適切にコピーされます。それは設計によるのですか?それを動作させるために、私は手動でeggフォルダからコピーしました。必要がない場合は教えてください。 – Jorge

+0

virtualenv pythonインタプリタの隣にdllがコピーされるように設計されています... virtualenvで問題が発生した場合は、GitHubで問題をオープンしてください。 –

関連する問題