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

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

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

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

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

Q&A

解決済

1回答

1049閲覧

INUX インストール後のpyファイル利用

退会済みユーザー

退会済みユーザー

総合スコア0

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Python 3.x

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Python

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

0グッド

0クリップ

投稿2019/10/04 09:03

編集2019/12/05 23:22

#追記2
123.pyというファイルに以下コードを記載すると正常に動きました!
しかし別のdjangoのviews.pyの中でimportするとエラーになります。ちなみにdjangoのviews.pyはwindowsだとimportでエラーにはならず正常にimport ffmpegが動きます。

つまり
linux上でffmpegは123.pyで動くにも関わらず
linux上でffmpegはview.pyでは動かずエラーになる。
import ffmpegの箇所でno module

もちろん同じlinux環境で同じフォルダ内にあるpyファイルです。

123.py

# -*- coding: utf-8 -*- import ffmpeg # 入力 stream = ffmpeg.input('input.MOV') # 出力 stream = ffmpeg.output(stream, 'output.mov',t=2,ss=2) # 実行 ffmpeg.run(stream)

#追記
環境変数を追加しましたが以下と同様エラーです。
export PATH=$PATH:/usr/include/ffmpeg

お世話になります。ffmpegをlinuxで.pyファイルから実行させたいです。

#環境
centos7
python3.6.8

前提

インストールは正常終了

ffmpegをインストールしてpythonファイルでimport ffmpeg と記載したいです。FFmpegはCentOS6,7のコアリポジトリでは利用できないので、 FFmpegをソースからビルドするか、またはNuxリポジトリからyumを使用してインストールしました。いずれかの方法がありますが、今回はyumを使ってインストールしました。

sudo yum -y install epel-release sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm sudo yum -y install ffmpeg ffmpeg-devel pip3 install ffmpeg --user ffmpeg -version ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100

バージョンが表示されました。ffmpegインストール正常導入を確認済です。
しかしlinux上の環境変数の設定方法がわかりません

エラー(ブラウザ上)

pyファイル上でimport ffmpegと書くと以下エラーが出ます。

ModuleNotFoundError at / No module named 'ffmpeg'

環境変数設定

vi .bash_profile

を開きました。何も記載されておらず新しいファイルだったので以下を追記しました。

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/ffmpeg_build/bin

イメージ説明

しかし実サーバーの中身を確認してみるとusr/local/ の中に ffmpeg_build はありませんでした。

#しらべたこと

そこでまずprintenvを実行し以下が設定されていることを確認しました。

PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/django/.local/bin:/home/django/bin:/usr/local/ffmpeg_build/bin

参考URL
https://www.jifu-labo.net/2015/09/ffmpeg_build/

ffmpegインストールは正常終了しているのですが環境変数設定がうまくいかない状況です。
宜しくお願いいたします。

参考url
https://www.tecmint.com/install-ffmpeg-in-linux/

補足
pip3 install ffmpeg-pythonは実装済です。

Requirement already satisfied: ffmpeg-python in /home/django/.local/lib/python3.6/site-packages (0.2.0)
Requirement already satisfied: future in /home/django/.local/lib/python3.6/site-packages (from ffmpeg-python) (0.17.1)

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

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

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

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

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

guest

回答1

0

ベストアンサー

pip3 install ffmpeg-python
などpython用モジュールのインストールはされましたか?

yum -y install ffmpeg ffmpeg-devel
では実行プログラムやC/C++用ヘッダファイルがインストールされるだけでpython用モジュールはインストールされないと思います。


CentOS7を一からインストールしてみてやってみましたがうまく動作しました。ちょっとお手上げかも

  1. CentOS-7-x86_64-DVD-1908.isoを使用してVMware上にCentOS7を最小セットアップ
  2. ここを参考にGUI環境を使えるようにする。
  3. Python3をインストール(yum install python3)
  4. アップデート実施(yum update)
  5. 質問欄のインストール手順を実施(環境変数PATHの設定などはしない)
  6. 結果
[nomuken@localhost ~]$ ffmpeg -version ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect libavutil 54. 31.100 / 54. 31.100 libavcodec 56. 60.100 / 56. 60.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 40.101 / 5. 40.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 [nomuken@localhost ~]$ python3 Python 3.6.8 (default, Aug 7 2019, 17:28:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ffmpeg >>> print(ffmpeg) <module 'ffmpeg' from '/home/nomuken/.local/lib/python3.6/site-packages/ffmpeg/__init__.py'> >>>

投稿2019/10/04 09:33

編集2019/10/04 14:02
nomuken

総合スコア1627

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

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

退会済みユーザー

退会済みユーザー

2019/10/04 09:39

記載しわすれました。pip3 install ffmpeg-pythonしています。 Requirement already satisfied: ffmpeg-python in /home/django/.local/lib/python3.6/site-packages (0.2.0) Requirement already satisfied: future in /home/django/.local/lib/python3.6/site-packages (from ffmpeg-python) (0.17.1)
退会済みユーザー

退会済みユーザー

2019/10/04 14:46

>>> import ffmpeg >>> print(ffmpeg) <module 'ffmpeg' from '/home/nomuken/.local/lib/python3.6/site-packages/ffmpeg/__init__.py'> >>> 入ってますね。うーん。私もなんとか123.pyであればffmpegが動くところまではいきました。ただdjangoのviews.pyで書くと動かないんですよね。import ffmpegでエラーが出ます。同じ事を同じフォルダで別のpyでやるとうまくいくんですが。。。
nomuken

2019/10/04 15:45

あとはview.pyで動いているときのsys.pathの内容の確認ですかね。 Djangoのクイックスタートを参考にview.pyを作ってブラウザからアクセスしましたが問題は起きませんでした。 ターミナルから実行した場合でもDjangoによるview.py実行の場合も'/home/nomuken/.local/lib/python3.6/site-packages'が含まれていました。普通は差異はないと思うのですが・・・。
退会済みユーザー

退会済みユーザー

2019/10/04 15:52

丁寧にありがとうございます。一点ファイルの移動でおかしなところをみつけました! pythonのviews.pyの中で mv abc.py ./hoge/hoge/abc.py と書いて実行すると mv: ファイルオペランドがありません というエラーが出ます。 しかしteraterm上で mv abc.py ./hoge/hoge/abc.py と打つと、当然abcファイルはhogeに移動します。 もしも「mv: ファイルオペランドがありません」というエラー対応をご存じでしたら教えて頂けないでしょうか?
退会済みユーザー

退会済みユーザー

2019/10/04 16:18

サーバリスタートしてimportの位置を再確認して実行したら動きました。ありがとうございます。丁寧な説明ですのでベストアンサーにします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問