ユーザーが簡単に使用できるようにKMLファイルをドラッグアンドドロップするPythonスクリプトがあります。ドロップされたファイルはsys.arg [1]として取り込まれます。コマンドラインにmyScript.py Location.kml
と入力するとすべて正常に動作します。しかし、ファイルをドラッグアンドドロップするとエラーが発生し、no module named xlsxwriter
と表示されます。 xlsxwriterはPythonスクリプトと同じフォルダにあり、別の名前のPackagesフォルダにあります。コマンドラインではなぜ機能するのですが、ドラッグアンドドロップしても機能しません。私は行方不明のトリックですか?Pythonファイルをドラッグアンドドロップしたときにモジュールが見つかりません
0
A
答えて
0
erkysunのおかげでこの問題は解決しました。 eryksunのソリューションは完璧に動作し、私はそれが動作していない別の理由を見つけました。これは、ファイルをドラッグしてPythonスクリプトにドロップしたときに、os.getcwd()
ファイルがどこにあっても実行されたため、C:\WINDOWS\system32
が返されたためです。 os.getcwd()
私はそれをos.path.abspath(os.path.dirname(__file__))
に変更し、それがうまくいったところでこれに対処するために!
関連する問題
- 1. Python - モジュールが見つかりません
- 2. コンポーネントにインポートしたときにAngular2 - モジュールが見つかりません
- 3. なぜPythonモジュールがApache上に見つかりません
- 4. モジュールをローカルモジュールとして使用しようとしたときにモジュールが見つかりません。
- 5. ファイルが終了したときにPhusion Passengerファイルが見つかりません
- 6. モジュールが見つかりません:エラー:モジュールを解決できません
- 7. モジュールが見つかりません:エラー:
- 8. TS2307モジュールが見つかりません
- 9. モジュール 'net_rim_bb_browser_field2_api "が見つかりません
- 10. モジュール 'react'が見つかりません
- 11. モジュール "。"が見つかりません。 webpackMissingModule
- 12. モジュール 'npmlog'が見つかりません
- 13. Appceleratorモジュールが見つかりません
- 14. 'cylon'モジュールが見つかりません
- 15. モジュールが見つかりませんTypeScript
- 16. Firebaseモジュールが見つかりません
- 17. Typescriptモジュールが見つかりません
- 18. NodeJSモジュールが見つかりません
- 19. TypeScriptモジュールが見つかりません。
- 20. geventモジュールが見つかりません
- 21. '_baseIsRegExp'モジュールが見つかりません
- 22. モジュールcom.google.android.gms.piccard.dynamiteが見つかりません
- 23. djangoにmysqldbモジュールが見つかりませんでした。
- 24. インポート時にモジュールが見つかりませんでした
- 25. PyInstaller:exeが実行されたときに.soモジュールが見つかりません
- 26. Pythonモジュールのパスが見つかりません
- 27. インストール後もPythonモジュールが見つかりません
- 28. ブタスクリプトのPython UDFで再モジュールが見つかりません
- 29. pythonフラスコで '__main__'モジュールが見つかりません
- 30. Stackdriverデバッグappengineエラー:Pythonモジュールが見つかりません
あなたのスクリプトとxlswriterが内部にあるディレクトリがありますか? – ppalacios
@PabloPaláciosはい、メインフォルダには、スクリプト、KMLファイル、およびパッケージという名前の別の3つの項目があります。 xlsxwriterはパッケージに含まれています。 –
スクリプトのディレクトリは 'sys.path [0]'でなければなりません。そこでそこにあるパッケージをインポートできるはずです。 'Packages'サブディレクトリは' sys.path'にあってはなりません。少なくともデフォルトではそうではありません。手動で追加することができます: 'script_dir = os.path.abspath(os.path.dirname(__ file __));' 'package_dir = os.path.join(script_dir、 'Packages');' 'sys.path.insert( 1、package_dir) 'を実行します。 – eryksun