
ユーザーアカウントでPythonスクリプトを実行しようとしています。 myuserと呼びます。ログインしたり root を使わなくても dropbox.py スクリプトを実行できるようにしたいです。プログラムは root としてログインするか、root としてログインすると完全に実行されます。しかし、まずrootとしてログインしてから、起動するたびに実行する必要がない方法を見つけたいと思います。
myuserとして実行すると、次のエラーが発生します。
[myuser@localhost Utilities]$ python dropbox.py start
Starting Dropbox...
The Dropbox daemon is not installed!
Run "dropbox start -i" to install the daemon
そのため、提案されているように-iオプションを使用して実行し、次のような結果を得ました。
[myuser@localhost Utilities]$ python dropbox.py start -i
Starting Dropbox...Traceback (most recent call last):
File "dropbox.py", line 1404, in start
download()
File "dropbox.py", line 280, in download
import pygtk
ImportError: No module named pygtk
私はそれを実行しstrace
、おおよそ次のように1行ずつ取得します。
open("/home/myuser/Downloads/pygtk.so", O_RDONLY) = -1 ENOENT (No such file or directory)
両方のプロファイルの .bashrc、.bash_profiles、.bash_history ファイルに違いはありません。また、.configフォルダで違いを確認しましたが、何も見つかりませんでした。
繰り返しますが、最も奇妙なことは、rootではうまく機能しますが、myuserとしてログインしても機能しないことです。ルートは見つけるのが難しいpygtkパッケージをインポートすることに問題はありません。
他のユーザーがパッケージをインポートできるように、ある種のPython権限または設定をどこかに設定する必要がありますか? myuserアカウントにいくつかの構成設定がありませんか?
ありがとうございます!
答え1
$ sudo dnf install pygtk2.x86_64
私のために動作します。
答え2
多くの可能性があるようです。まず、「myuser」を一部の管理グループ(ホイールグループなど)のメンバーにするか、sudoersファイルで必要な権限を付与できます。 2番目の方法は、まずpygtkモジュールを提供する必要なPythonパッケージをインストールする方が良いと思います。次のようにする必要があります。
#sudo apt-get install python-gtk2-dev
その後、プログラムを再実行してください。今回はモジュールエラーがあってはなりません。
または、パッケージがインストールされていると確信している場合は、Pythonパスを確認し、myuserがそのパッケージを使用でき、適切な権限を持っていることを確認する必要があります。インポート機能はPYTHONPATH環境でファイルを検索します。変数とローカルディレクトリ。
答え3
どこかに権限の問題がある可能性があります。パッケージが正しくインストールされていることを確認してください。
yum reinstall 《offending file》
インストールを更新または修復する必要があります。
他の可能性は、Pythonのen環境変数が正しく設定されていないか、ユーザーが古い(古い、または機能しなくなった)完全に破損したローカル(該当するアカウントのみ)パッケージをインストールしたためです。ここにコードを入力してください