0

I'm trying to run a python script through a user account, call it myuser. I want to be able to execute the dropbox.py script without logging into or su'ing into root. The program works perfectly when I am either logged in as root, or su'd into root, but I want to find a way to not have to su over to root and then run it every time I start up.

When I run it as myuser, I get the following error:

[myuser@localhost Utilities]$ python dropbox.py start
Starting Dropbox...
The Dropbox daemon is not installed!
Run "dropbox start -i" to install the daemon

So, I run it with the -i option, as recommended and get the following:

[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

I ran it with strace and I get line after line that looks roughly like this:

open("/home/myuser/Downloads/pygtk.so", O_RDONLY) = -1 ENOENT (No such file or directory)

There are no differences in the .bashrc, .bash_profiles, .bash_history files of either profile. I also checked the .config folder for differences and found none.

Again, the weirdest thing is that it works fine as root, but it doesn't work when logged in as myuser. root is having no problem at all importing in the elusive pygtk package.

Is there some kind of python permission(s) or configuration I need to set somewhere to allow other users to import packages? Is there a configuration setting of some kind I am missing in the myuser account?

Thanks!

  • Use your distribution's binary packages for preference. Or if you don't have the necessary permissions, ask someone with those permissions to install the necessary packages. – Faheem Mitha Dec 25 '15 at 15:25
1
$ sudo dnf install pygtk2.x86_64

Worked for me.

0

there seems many possibilities. first , you can try by making the "myuser" as member of some administrative group such as wheel group or you can give it the required rights in sudoers file. the second way i that i think is more suitable to first install the required python package that provides the pygtk module , it should be something like this:

     #sudo apt-get install python-gtk2-dev

and then run the program again , there should be no module error this time.

or if you are sure that the package is already installed then you should check the python path and make sure it is available with proper permissions to myuser. The function import looks for files into your PYTHONPATH env. variable and your local directory.

0

Probably a permission problem somewhere. Check that the package is correctly installed, by e.g.

yum reinstall 《offending file》

should refresh/fix the installation.

Other possibilities are that the en environment variables for Python aren't set up correctly, or that your user has some locally (for the account only) packages installed, and those are stale (old, no longer working) or plain broken. enter code here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.