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

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

新規登録して質問してみよう
ただいま回答率
85.35%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1134閲覧

import (pythonデータ)でrequestsを使って通知させたかったけど、ダメでした。。。

poko_pokota

総合スコア1

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/06 04:29

編集2021/12/06 04:36

前提・実現したいこと

最近pythonを学び初めたものです。

今、pythonを使ってLINE Notifyに通知を送りたいのですが、
通知が届かないという現象にハマっております。

**『requests』**のライブラリが入っている項目を
**「import 〇〇(パイソンデータ)」**で呼び出すと実行されないんです。。。

一応解決策で、**「subprocess」**を使ったものでは実行出来ているので、
普通に使う分には問題が無いのですが
このままだと腑に落ちないんです。。。

今後も連続でpythonデータを起動させることを考えているので、
import 〇〇で動かないライブラリもあるのなら、
これを使うことを控えなければなりません。

ですので、import 〇〇ではなぜ動かなかったのか、
分かる人、教えていただけますと助かります。
よろしくお願いします!

発生している問題・エラーメッセージ

エラーメッセージなく、普通に実行されています!
(実行はされているけど、requestさんが動いてくれていないという印象。。。)

該当のソースコード

line.py

python

1# line.pyの中身です 2 3import requests 4token = "トークンID" 5url = "https://notify-api.line.me/api/notify" 6headers = {"Authorization": "Bearer " + token} 7payload = {"message": "テストメッセージだよ"} 8requests.post(url, headers=headers, data=payload) 9 10print(url)

execution.py

python

1# 諸事情により、連続実行させたいからこのファイルを起動させます! 2 3# ↓エラーなく実行できるけど、起動しません。 4# ターミナルで、『python line.py』では起動の確認出来てます! 5# print(url)すら実行してくれない!エラー吐いてくれる方が安心するわぁ。。。 6 7import line.py 8 9 10# ↓こっちでは起動出来る 11その他にもターミナルで、『python line.py』 で実行ならば動くみたい 12import subprocess 13 14command = ["python", "line.py"] 15proc = subprocess.Popen(command) 16result = proc.communicate() 17

試したこと

・pythonのバージョン確認(3.9.9)
・condaの削除
・pyenvを使って、pythonを再導入(パスはOKです!確認済みです!)
・request 再導入
・pipの再ダウンロード、リストの確認
・ターミナルでの実行「python line.py」実行OK!

現段階では、 『subprocess』を使って実行させております。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ソースコード中にimport line.pyを書けば、その度にline.pyが実行されると誤解していませんか。

公式ドキュメント 7.11. import 文に書かれているように、

Document

1基本の import 文は 2 つのステップで実行されます: 21. モジュールを見付け出し、必要であればロードし初期化する 32. import 文が表れるスコープのローカル名前空間で名前を定義する。

です。一度ロードしたモジュールではstep1はスキップされるので、初期化(=実行)は最初の一回だけです。

投稿2021/12/06 04:57

ppaul

総合スコア24670

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

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

poko_pokota

2021/12/06 13:19

回答ありがとうございます! 個人的に色々調べていたんですが、原因がわからず。。。 もやもやを解決していただきましてありがとうございます! import に対する知見が深まりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問