ユーザーが簡単に使用できるように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. pythonモジュールが見つかりませんでした。エラー
- 3. モジュールの宣言ファイルが見つかりませんでした。
- 4. Python仮想環境でPythonモジュールが見つかりません
- 5. コンポーネントにインポートしたときにAngular2 - モジュールが見つかりません
- 6. objective-cモジュールを作成できませんでした 'Firebase'と 'FirebaseAnalytics/FirebaseAnalytics.h'ファイルが見つかりません
- 7. なぜPythonモジュールがApache上に見つかりません
- 8. モジュールをローカルモジュールとして使用しようとしたときにモジュールが見つかりません。
- 9. ファイルが終了したときにPhusion Passengerファイルが見つかりません
- 10. モジュールが見つかりません:エラー:モジュール 'routes'を解決できません
- 11. モジュールが見つかりません:エラー:モジュールを解決できません
- 12. Typescriptモジュールが見つかりません
- 13. NodeJSモジュールが見つかりません
- 14. モジュール 'react'が見つかりません
- 15. Express:モジュールが見つかりません?
- 16. Appceleratorモジュールが見つかりません
- 17. モジュールprecssが見つかりません
- 18. 'supertest'モジュールが見つかりません
- 19. '_baseIsRegExp'モジュールが見つかりません
- 20. モジュールが見つかりません:エラー:
- 21. Vuejs:モジュールが見つかりません "
- 22. モジュール "。"が見つかりません。 webpackMissingModule
- 23. TypeScriptモジュールが見つかりません。
- 24. Firebaseモジュールが見つかりません
- 25. モジュールが見つかりませんエラー:
- 26. ReactJS - モジュールが見つかりません "
- 27. 'cylon'モジュールが見つかりません
- 28. モジュール 'net_rim_bb_browser_field2_api "が見つかりません
- 29. モジュールが見つかりませんTypeScript
- 30. モジュールが見つかりません:エラー
あなたのスクリプトと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