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

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

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

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

Q&A

0回答

1341閲覧

pbpasteをローカル開発環境で使えない

cpp335

総合スコア8

Python 3.x

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

0グッド

0クリップ

投稿2018/05/25 01:46

退屈なことはpython...で勉強しておりますが
Macでpython3系ですとpyperclipが使えないようです。
pbcopy,pbpasteを利用するとあるのですがsubprocess.Popen()などの使い方がわかりません。
ホームディレクトリで下記コードをうつとpbpasteされるようですが、

Python

1import subprocess 2subprocess.Popen(['pbpaste'])

python

1 2上記のコードを仮想マシンでうつと、下記のエラーがでます。 3クリップボードのデータがsubprocess上にないのが原因でしょうか 4読み取るにはどうすればよいでしょうか. 5 6Traceback (most recent call last): 7 File "<stdin>", line 1, in <module> 8 File "/home/vagrant/.pyenv/versions/3.5.2/lib/python3.5/subprocess.py", line 947, in __init__ 9 restore_signals, start_new_session) 10 File "/home/vagrant/.pyenv/versions/3.5.2/lib/python3.5/subprocess.py", line 1551, in _execute_child 11 raise child_exception_type(errno_num, err_msg) 12FileNotFoundError: [Errno 2] No such file or directory: 'pbpaste'

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

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

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

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

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

hayataka2049

2018/05/25 01:59

ターミナルでpbpasteと打つとどうなりますか?
cpp335

2018/05/25 02:04

ターミナルではクリップボードの情報がコピーされます。
hayataka2049

2018/05/25 02:06

質問文の「上記のコードを仮想マシンでうつと」は、そのターミナル上で起動したpythonで、という理解でよろしいですか?
hayataka2049

2018/05/25 02:13 編集

ではvagrant上でpbpasteが打てない状況なのではないでしょうか。確認してみてください
cpp335

2018/05/25 02:17

そのようです。下記のエラーがでます。[vagrant@localhost python_lessons]$ python Python 3.5.2 (default, Dec 6 2017, 15:32:11) [GCC 4.4.7 20120313 (Red Hat 4.4.7-18)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> pbpaste Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'pbpaste' is not defined >>>
hayataka2049

2018/05/25 02:21 編集

いえ、pythonはどうでも良いので、まずはvagrantの環境上でpbpasteが見えているかどうかを確認したいのです。単に$ pbpasteだとどうなりますかね? ホストのターミナルとvagrantの環境上で確認してください
cpp335

2018/05/25 02:21

すみませんよくわかっていなくて下記のメッセージが出ます。-bash: pbpaste: コマンドが見つかりません
hayataka2049

2018/05/25 02:22 編集

pbcopy, pbpasteはただのコマンドで、pythonはそれを呼び出しているだけのコードです。なので、独立して使えればpythonプログラムは動くし、独立して使えなければダメという状況になっています。ホストのターミナルで$ pbpasteだと打てるのでは?
cpp335

2018/05/25 02:27

ではvagrantでpythonを使う場合クリップボードの情報は扱えないということでしょうか。教本にpyperclipが頻繁に出て来るので代替をと思いましたが、、、何か他の方法はないでしょうか。質問ばかりで恐縮です。
hayataka2049

2018/05/25 02:36 編集

vargantの設定で頑張れば、コマンドを共有するとか、vargantの環境にインストールする方法があるのかもしれませんが、macはあまり詳しくないのでこれ以上はご勘弁ください・・・
hayataka2049

2018/05/25 02:36

「退屈なことはpython...」をやる程度なら、ホスト上にインストールしたpythonでやれば済むという話もある、とは伝えておきます
cpp335

2018/05/25 02:37

いえいえ。なんらかの回答をくださるだけで心強いです。調べてみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問