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

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

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

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

6518閲覧

【エラー】AttributeError: module 'time' has no attribute 'clock' の解決方法について

yuta1989

総合スコア65

Python 3.x

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

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2022/07/07 13:34

Pythonのバージョンを3.6.1から3.9.10に上げて、pytestを実行したらエラーが出るようになりました。。

エラー文言を検索して解決策を調べたのですが、わからないのでご回答いただけると嬉しいです。

==================================================== FAILURES ==================================================== _____________________________________ TestAESCipher.test_encrypt_and_decrypt _____________________________________ mocker = <test_backlog_setting_util.TestAESCipher object at 0x7f910bc3c790> def test_encrypt_and_decrypt(mocker): key = "abcde" raw = "qwerty123456" cipher = AESCipher(key) > encripted = cipher.encrypt(raw) tests/escalation_api/backlog/backlog_setting/util/test_backlog_setting_util.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../resource/escalation_api/api/backlog/backlog_setting/util/__init__.py:14: in encrypt iv = Random.get_random_bytes(AES.block_size) /.pyenv/versions/3.9.10/lib/python3.9/site-packages/Crypto/Random/__init__.py:41: in get_random_bytes return _UserFriendlyRNG.get_random_bytes(n) /.pyenv/versions/3.9.10/lib/python3.9/site-packages/Crypto/Random/_UserFriendlyRNG.py:228: in get_random_bytes return _get_singleton().read(n) /.pyenv/versions/3.9.10/lib/python3.9/site-packages/Crypto/Random/_UserFriendlyRNG.py:178: in read return _UserFriendlyRNG.read(self, bytes) /.pyenv/versions/3.9.10/lib/python3.9/site-packages/Crypto/Random/_UserFriendlyRNG.py:129: in read self._ec.collect() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Crypto.Random._UserFriendlyRNG._EntropyCollector object at 0x7f910f452ee0> def collect(self): # Collect 64 bits of entropy from the operating system and feed it to Fortuna. self._osrng_es.feed(self._osrng.read(8)) # Add the fractional part of time.time() t = time.time() self._time_es.feed(struct.pack("@I", int(2**30 * (t - floor(t))))) # Add the fractional part of time.clock() > t = time.clock() E AttributeError: module 'time' has no attribute 'clock' /.pyenv/versions/3.9.10/lib/python3.9/site-packages/Crypto/Random/_UserFriendlyRNG.py:77: AttributeError

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

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

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

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

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

guest

回答2

0

「モジュール 'time' には属性 'クロック' がありません」というエラーを解決するには、time. Clock() を time.time() に置き換える必要があります。 これは、Python 3.6 から Python 3.9 に移行する場合の一般的な回避策です。time calculatorでは、 time. Clock() の代わりに time.time() を使用して時間を計算できます。 幸運を!

投稿2024/02/15 07:01

編集2024/02/19 08:41
kanecharles

総合スコア2

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

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

0

ベストアンサー

ソースが無いので不確かですが、たぶんpycryptoモジュールを使っているのだと思います。
さして、エラーは、最近の pythonでtime.clock()が削除されたのに、そのモジュールが対応していないことによるものです。

pycryptoモジュールはもう古いので、新しいpythonでは使えませんし、メンテナンスもされていないので使うべきではないとこのこと。

https://www.pycrypto.org/

どうしてもこのプログラムを使いたいのであれえば、古いバージョンのpythonで使うしかありません。

投稿2022/07/07 13:55

TakaiY

総合スコア14307

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

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

yuta1989

2022/07/07 14:18

早速のご回答ありがとうございます! pycryptoを使っていましたが、セキュリティ的に良くないんですね。。 互換性のあるpycryptodomeに切り替えようと思います。
TakaiY

2022/07/07 14:36 編集

ちなみに、以下のようにして情報にたどりつきました。 エラーは「t = time.clock()」で発生いているので、pythonのリファレンスを調べる。 まずはバージョン間の差分を確認すると、python 3.5 にはあるが、3.9には無いことを確認。 エラーのアル行のプログラムは「site-packages/Crypto」なので、cryptoモジュール。 cryptoモジュールのドキュメントを調べようとすると、「もうメンテされていない」とか、回答の本家サイトがみつかる。 という感じです。 参考までに。 実は自分も現プロジェクトで使っているので、今後の参考になりました。
yuta1989

2022/07/12 02:23

確認が遅くなりすみません。 ご丁寧に教えていただきありがとうございます! 勉強になりますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問