Search code examples
python-3.xeasy-install

SandboxViolation error when installing isbntools with easy_install


Hi I have the similar problem like Problem solved here simplar but only with my package that is called isbntools. If I try to make

  python setup.py install

in the dir from extracted isbntools I get error that it can not find some includes. Has anyone tried to make an easy_install on SUSE SLES13.1 ? Here the log:

     :~> sudo easy_install isbntools
     root's password:
     Searching for isbntools
     Reading https://pypi.python.org/simple/isbntools/
     Best match: isbntools 4.2.4
     Downloading https://pypi.python.org/packages/source/i/isbntools/isbntools-4.2.4.tar.gz#md5=3bee22a3b30d247ca51a5bfadfe5a42d
     Processing isbntools-4.2.4.tar.gz
     Writing /tmp/easy_install-g01nzx/isbntools-4.2.4/setup.cfg
     Running isbntools-4.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-g01nzx/isbntools-4.2.4/egg-dist-tmp-3i8ma7
     error: Setup script exited with error: SandboxViolation: mkdir('/home/wschrabi/.isbntools', 511) {}

     The package setup script has attempted to modify files on your system
     that are not within the EasyInstall build area, and has been aborted.

     This package cannot be safely installed by EasyInstall, and may not
     support alternate installation locations even if you run its setup
     script by hand.  Please inform the package's author and the EasyInstall
     maintainers to find out if a fix or workaround is available.

Add: I tried option 1) and got following errors:

      si204alt:/home/wschrabi/__SAMBA/ISBN_PY # easy_install --user isbntools-4.2.4
      Processing isbntools-4.2.4
      Writing /home/wschrabi/samba/ISBN_PY/isbntools-4.2.4/setup.cfg
      Running setup.py -q bdist_egg --dist-dir /home/wschrabi/samba/ISBN_PY/isbntools-4.2.4/egg-dist-tmp-uHR4xe
      Traceback (most recent call last):
        File "/usr/local/bin/easy_install", line 9, in <module>
          load_entry_point('setuptools==16.0', 'console_scripts', 'easy_install')()
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 2243, in main
        File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
          dist.run_commands()
        File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
          self.run_command(cmd)
        File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
          cmd_obj.run()
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 380, in run
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 610, in easy_install
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 659, in install_item
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 842, in install_eggs
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1070, in build_and_install
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1056, in run_setup
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 240, in run_setup
        File "/usr/lib64/python2.6/contextlib.py", line 34, in __exit__
          self.gen.throw(type, value, traceback)
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 193, in setup_context
        File "/usr/lib64/python2.6/contextlib.py", line 34, in __exit__
          self.gen.throw(type, value, traceback)
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 164, in save_modules
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 139, in resume
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 152, in save_modules
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 193, in setup_context
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 237, in run_setup
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 267, in run
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 236, in runner
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 46, in _execfile
        File "/home/wschrabi/samba/ISBN_PY/isbntools-4.2.4/setup.py", line 59, in <module>
          CONFRES = pkg_resources.resource_filename('isbntools', CONFFILE)
        NameError: name 'pkg_resources' is not defined

and when I do option 4) - it does work but got sh errors.

      wschrabi@si204alt:~/__SAMBA/ISBN_PY> ./isbn meta 9999999999 endnote
      sh: symbol lookup error: /lib64/libncurses.so.5: undefined symbol: _nc_outch_sp
      sh: symbol lookup error: /lib64/libncurses.so.5: undefined symbol: _nc_outch_sp
      sh: symbol lookup error: /lib64/libncurses.so.5: undefined symbol: _nc_outch_sp
      sh: symbol lookup error: /lib64/libncurses.so.5: undefined symbol: _nc_outch_sp
      %0 Book
      %T En bok om Albo härad och Albo härads hembygdsförening
      %A Nsa
      %@ 9999999999
      %D 2004
      %I Albo härads hembygdsförening
      wschrabi@si204alt:~/__SAMBA/ISBN_PY>

Moreover I re-installed the setup tools as described in No module named pkg_resources but got now on 2 diff SUSE PCs (!) the same MemoryError:

      lmschrabmair@si204:~> easy_install --user ISBN_PY/isbntools-4.2.4.tar.gz
      Processing isbntools-4.2.4.tar.gz
      Writing /tmp/easy_install-tB6gBa/isbntools-4.2.4/setup.cfg
      Running isbntools-4.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-tB6gBa/isbntools-4.2.4/egg-dist-tmp-2jiuVg
      Traceback (most recent call last):
        File "/usr/local/bin/easy_install", line 9, in <module>
          load_entry_point('setuptools==16.0', 'console_scripts', 'easy_install')()
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 2243, in main
        File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
          dist.run_commands()
        File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
          self.run_command(cmd)
        File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
          cmd_obj.run()
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 380, in run
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 610, in easy_install
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 659, in install_item
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 842, in install_eggs
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1070, in build_and_install
        File "build/bdist.linux-x86_64/egg/setuptools/command/easy_install.py", line 1056, in run_setup
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 240, in run_setup
        File "/usr/lib64/python2.6/contextlib.py", line 34, in __exit__
          self.gen.throw(type, value, traceback)
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 193, in setup_context
        File "/usr/lib64/python2.6/contextlib.py", line 34, in __exit__
          self.gen.throw(type, value, traceback)
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 152, in save_modules
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 126, in __exit__
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
        File "build/bdist.linux-x86_64/egg/setuptools/sandbox.py", line 110, in dump
      MemoryError
      lmschrabmair@si204:~>

I think this a new bug: See BUG in Setupt tools


Solution

  • isbntools installer tries to create a directory in your user area (to put inside configuration and cache files). easy_install doesn't allow it for a system's installation on some linux distributions.

    So you have these options:

    1. use easy_install with flag --user for a user's installation.
    2. install isbntools in a virtual environment using easy_install.
    3. use pip install --user isbntools.
    4. use isbntools portable an executable file that implements most of the features of isbntools (no cache and no configuration). You can get it at http://sourceforge.net/projects/isbntools/files/3.3.9/isbntools-3.3.9-linux.amd64.tar.gz/download (just extract the file from the archive).

    As follow up to your question:

    1. For 1) I can only say, if you have setuptools installed and get a "name 'pkg_resources' is not defined" error, then something wrong is happening with your python installation (take a look a this stackoverflow question No module named pkg_resources).
    2. For 4) I don't have experience with SUSE, but the program was extensively tested in Debian based systems... without errors. Anyway the program seems to work, only if these annoying sh messages could get filtered...

    Why don't you try the option 2)?