質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

4回答

1630閲覧

Python3.6。pandasによるディレクトリ作成ができないバグ?

Pure

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2018/04/19 02:36

OS:Windows10
言語:Python 3.6.5 :: Anaconda custom (64-bit)

下記のコードでAtom・コマンドプロンプトより実行をするとCドライブ直下に問題なく年月日のフォルダが作成をされます。

ですがpyinstallerを使いexeにし、実行したところフォルダが作成されませんでした。
import pandas as pdの一文をコメントアウトしたところ問題なく動いたので
pandasが何かしらの影響を及ぼしているのはわかるのですが、
原因はわかっても解決方法がわかりません。

ちなみにpandasはこの後に処理を行うので必要です。

どなたか解決方法をご存知の方は
ご教示お願い致します。

python

1import datetime 2import os 3import pandas as pd 4 5 6todaydetail = datetime.datetime.today() 7date = todaydetail.strftime("%Y%m%d") 8download_directory = 'C:\'+str(date) 9os.mkdir(download_directory)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

はじめまして
前の方の回答そしてそこについたコメントから、こちらに私の思った回答を書きます。

エラーの原因

Python

1File "pandas/_libs/tslib.pyx", line 1, in init pandas._libs.tslib 2ModuleNotFoundError: No module named 'pandas._libs.tslibs.timedeltas' 3 4During handling of the above exception, another exception occurred:

でもう1つのエラーを見ますと

Python

1File "site-packages\pandas\__init__.py", line 35, in <module> 2ImportError: C extension: No module named 'pandas._libs.tslibs.timedeltas' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force'

'pandas._libs.tslibs.timedeltas'というC extension(cで書かれたモジュール)が存在しないので、Pythonのソースからインポートができない

これがエラーの原因です。
そしてその後に解決策がありますね。

you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force'

解決策

再度pandasをインストールする。
1.pipまたはconda

2.pandasのソースからインストール

この場合には、pandasのソースコードをダウンロードした後に
エラーメッセージにある
you may need to run 'python setup.py build_ext --inplace --force' を実行してください

追加します 午後2時23分

私の環境では問題なく、実行されていますので掲載いただいたコードには問題ないです。
イメージ説明

投稿2018/04/19 05:13

編集2018/04/19 05:26
kawakawa2018

総合スコア1195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

pyinstaller.specのAnalysis()に以下のように記入するとインポートしてくれるかもしれません。

hiddenimports = ['pandas._libs.tslibs.timedeltas'],

投稿2018/10/15 02:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

pandasのimportに失敗して即落ちてるのかもしれません。ダブルクリックだと何も出ないので気づいていないだけで。
コマンドプロンプトから実行するとエラーが出たりしません?

投稿2018/04/19 04:28

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Pure

2018/04/19 04:32

コマンドプロンプトから実行を行うと pandasのimportをしてもしなくても 求めている結果になります。
hayataka2049

2018/04/19 04:34

えーっと、pyinstallerで作ったexeをコマンドプロンプトから実行、です。それでもちゃんと動きます?
Pure

2018/04/19 04:39

失礼しました。勘違いをしていました。 コマンドプロンプトから実行した結果下記のエラーが表示されました。 コピペで申し訳ないのですがよろしくお願いします。 Traceback (most recent call last): File "site-packages\pandas\__init__.py", line 26, in <module> File "c:\users\pure\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module exec(bytecode, module.__dict__) File "site-packages\pandas\_libs\__init__.py", line 4, in <module> File "c:\users\pure\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module module = loader.load_module(fullname) File "pandas/_libs/tslib.pyx", line 1, in init pandas._libs.tslib ModuleNotFoundError: No module named 'pandas._libs.tslibs.timedeltas' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "test4.py", line 3, in <module> File "c:\users\pure\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module exec(bytecode, module.__dict__) File "site-packages\pandas\__init__.py", line 35, in <module> ImportError: C extension: No module named 'pandas._libs.tslibs.timedeltas' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first. [21332] Failed to execute script test4
hayataka2049

2018/04/19 05:07

そうですか・・・ エラーを読む限りは、 https://stackoverflow.com/questions/47318119/no-module-named-pandas-libs-tslibs-timedeltas-in-pyinstaller https://teratail.com/questions/121860 https://ja.stackoverflow.com/questions/30125/anaconda%E3%81%A7pandas%E3%82%92%E4%BD%BF%E3%81%86%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92pyinstaller%E3%81%A7exe%E5%8C%96%E5%87%BA%E6%9D%A5%E3%81%AA%E3%81%84 この辺りの話だと思います。 anacondaでpandasの再インストールを試してみて(conda経由とソース経由で)治れば良いですが、駄目なら・・・anacondaに未練がなければ捨ててしまった方が楽かもしれません
guest

0

Atom・コマンドプロンプトより実行

ですがpyinstallerを使いexeにし、実行したところフォルダが作成されませんでした。

憶測含みですが。。。
Atom、コマンドプロンプトは管理者権限で実行されていて、exeは一般権限で実行されているため、exeを管理者権限で実行すればよい、という話とは違うでしょうか。

少なくとも、pandasが悪さをする、というレベルの話では無いと感じています。

投稿2018/04/19 02:49

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Pure

2018/04/19 02:55

今試してみたのですが、管理者権限で実行をしてみても結果は変わりませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問