Pythonライブラリ使用時におけるモジュールの追加方法について
fixpoint ご担当者様
お世話になります
Kompiraのライブラリ機能を持ちいてPythonスクリプトを実行出来ますが
モジュールを追加する際の手順をご教授いただきたいです
こちらが確認できている状況としましては
①Pythonライブラリオブジェクトからsys.pathを実行し、
kompiraユーザーのライブラリを参照していることを確認
['/opt/kompira/bin',
'/opt/kompira/lib64/python3.6/site-packages/git/ext/gitdb',
'/usr/lib64/python36.zip',
'/usr/lib64/python3.6',
'/usr/lib64/python3.6/lib-dynload',
'/opt/kompira/lib64/python3.6/site-packages',
'/opt/kompira/lib/python3.6/site-packages',
'/opt/kompira/lib64/python3.6/site-packages',
'/opt/kompira/lib64/python3.6/site-packages',
'/opt/kompira/lib64/python3.6/site-packages/gitdb/ext/smmap',
'kobject:///']
②Kompiraサーバー上のターミナルにて
su kompira
を実行し、kompiraユーザーに切り替えた後
python3 pip install pymsteams
を実行しましたが、
python3: can't open file 'pip': [Errno 13] Permission denied
と表示され、インストールできない状態です
sudoコマンドについては「kompira」というユーザーが、インストール時に自動で作成されたこともあり、パスワードが不明だったため、実行しておりません
(rootユーザーで強制的に変更も可能ですが、影響範囲が不明だったため実施しておりません)
お手数をおかけしますが、ご確認を宜しくお願い致します。
-
正式なコメント
フィックスポイントの高橋です。
Kompira は /opt/kompira 配下に python 仮想環境を持っており、ここに必要な python パッケージをインストールして利用しています(これらはインストーラによって実施されます)。
Kompira 上にライブラリオブジェクトを作成してジョブフローから呼び出した場合、そのライブラリオブジェクトの python は同環境で呼び出されることになりますので、/opt/kompira/ 配下にある python モジュールを利用することができます。
同環境へのモジュールの追加方法としては、Kompira サーバ上のターミナルにて root 権限で、以下のように行うことができます。
# /opt/kompira/bin/pip install (インストールしたいパッケージ名)
ただし、この操作は Kompira 環境を破壊してしまう可能性あることに注意してください。たとえば、あるパッケージを追加でインストールした際に、その依存関係によって既存のパッケージの Kompira と互換性のないバージョンを上書きインストールしてしまう、といった可能性があることに十分ご留意ください。
事前に /opt/kompira/bin/pip list コマンドでインストール済みのモジュール一覧を取得しておき、追加したもの以外のモジュールのバージョンが変わっていないことを確認する、といった対策は有効かと思います。
コメントアクション
サインインしてコメントを残してください。
コメント
2件のコメント