Error setup script exited with error

We started to see these errors frequently when including capstone as a dependency of our project. Our setup.py lists capstone >= 3.0.4 in the install requires section. It seems to work ok at fir...

After looking into it in some times I can only conclude this is a setuptools bug because it looks like capstone is doing the right thing here. Googling for this condition, it seems to be pretty common and the usual solution is to just disable the sandbox. I added this to my project and I can now install capstone as a dependency with no problems:

def fix_setuptools():
    """Work around bugs in setuptools.                                                                                                                                                        

    Some versions of setuptools are broken and raise SandboxViolation for normal                                                                                                              
    operations in a virtualenv. We therefore disable the sandbox to avoid these                                                                                                               
    issues.                                                                                                                                                                                   
    """
    try:
        from setuptools.sandbox import DirectorySandbox
           def violation(operation, *args, **_):
            print "SandboxViolation: %s" % (args,)

        DirectorySandbox._violation = violation
    except ImportError:
        pass

# Fix bugs in setuptools.                                                                                                                                                                     
fix_setuptools()

Just prints the SandboxViolation instead of raising exceptions. For reference these are the violations capstone makes:

  CC      MCInst.o
  LINK    libcapstone.so
  AR      libcapstone.a
ar: creating ./libcapstone.a
  GEN     capstone.pc
SandboxViolation: ('mkdir', '/tmp/1/lib/python2.7/site-packages/capstone', 511)
SandboxViolation: ('open', '/tmp/1/lib/python2.7/site-packages/capstone/libcapstone.so', 'wb')
SandboxViolation: ('utime', '/tmp/1/lib/python2.7/site-packages/capstone/libcapstone.so', (1454114901, 1454114901))
SandboxViolation: ('chmod', '/tmp/1/lib/python2.7/site-packages/capstone/libcapstone.so', 509)

Note that /tmp/1/ is the virtualenv so it should be able to write there. For some reason capstone is the only package that I have seen that triggers this setuptools bug so it would be ideal if it can disable the sandbox by itself.

Уведомления

  • Начало
  • » Python для новичков
  • » Проблема с vcvarsall.bat

#1 Дек. 7, 2012 17:44:04

Проблема с vcvarsall.bat

import os
try:
    import pynotify
except ImportError:
    os.system('easy_install py-notify')

error: Setup script exited with error: Unable to find vcvarsall.bat

python3.3
как побороть ?

Отредактировано ankane (Дек. 7, 2012 17:45:29)

Офлайн

  • Пожаловаться

#2 Дек. 7, 2012 21:40:57

Проблема с vcvarsall.bat

Не знаю насколько корректно но можно сделать так. Найти его самостоятельно. Объяснить питону где он у вас лежит (в исходниках питона в том месте где происходит ошибка поиска подправить алгоритм так чтобы находилось). В трешке не подскажу, не стоит.

Офлайн

  • Пожаловаться

#4 Дек. 8, 2012 11:18:19

Проблема с vcvarsall.bat

Я ждал этого вопроса.

Нет, не стоит. Я не смог найти внятного ответа, зачем мне VS? Я не планировал работать с С/С++/С# . По-этому у меня стоит Python 3 + PyCharm. Все. Зачем мне VS?

Офлайн

  • Пожаловаться

#5 Дек. 8, 2012 11:41:59

Проблема с vcvarsall.bat

ankane
Зачем мне VS?

Чтобы собрать этот модуль.

Py-notify requires Python 2.3 or later and a C compiler supported by distutils (there is one module written in C for performance reasons).

Вместо VS можно mingw поставить, в ссылке из предыдущего поста есть информация как настроить. Или поискать альтернативы.

Офлайн

  • Пожаловаться

#6 Дек. 8, 2012 11:56:58

Проблема с vcvarsall.bat

Я не могу понять как установить сторонний пакет. Я в панике уже) easy_install это к 2.7 ? Pip == easy_install? А distribute тогда что?. Без 2.7 не поставить pip на python3 ?

Как на чистый, не обремененный пакетами python3 поставить сторонний пакет, в моем случае — pynotify?

Как сделать установку сторонних пакетов быстрой и прозрачной. Чтобы мой скрипт мог работать на системах, на которых установлен только питон или еще лучше portabe-python ?

Офлайн

  • Пожаловаться

#7 Дек. 8, 2012 14:39:58

Проблема с vcvarsall.bat

ankane
Я не могу понять как установить сторонний пакет. Я в панике уже) easy_install это к 2.7 ? Pip == easy_install? А distribute тогда что?. Без 2.7 не поставить pip на python3 ?

Зачем столько вопросов, ответы на которые есть на страницах описания distribute, pip и гугла?

ankane
Как на чистый, не обремененный пакетами python3 поставить сторонний пакет, в моем случае — pynotify?

Если есть компилятор (VS, mingw) то скачать архив, распаковать, python setup.py install

ankane
Как сделать установку сторонних пакетов быстрой и прозрачной. Чтобы мой скрипт мог работать на системах, на которых установлен только питон или еще лучше portabe-python ?

Если речь о Windows, то самое удобное для конечного пользователя — создать .exe с помощью cx-freeze, например. На nix/mac тоже можно.

Еще можно сделать setup.py скрипт и добавить зависимые модули в install_requires. Но эта опция требует distribute (easy_install) или pip. Для обычных пользователей — не вариант, а у программистов они вероятнее всего установлены.

Офлайн

  • Пожаловаться

#8 Дек. 9, 2012 09:41:15

Проблема с vcvarsall.bat

ankane
Я не могу понять как установить сторонний пакет. Я в панике уже) easy_install это к 2.7 ? Pip == easy_install? А distribute тогда что?. Без 2.7 не поставить pip на python3 ? Как на чистый, не обремененный пакетами python3 поставить сторонний пакет, в моем случае — pynotify?

Рекомендуется юзать pip, easy_install как бы похуже, но нужен для работы pip.

ankane
Как сделать установку сторонних пакетов быстрой и прозрачной. Чтобы мой скрипт мог работать на системах, на которых установлен только питон или еще лучше portabe-python ?

Насколько я знаю быстрой и прозрачной установку пакетов сделать не выйдет, увы. Если модуль ругается на vcvarsall.bat, то значит необходимо компилировать его вместе с не-python библиотеками. Вот пример сборки pycurl под Windows. Путь попроще — это искать уже готовые инсталляторы под Windows. В Linux с этим попроще т.к. действительно можно будет установить модуль через pip install, но возможно придется поставить необходимые для компиляции модуля dev-файлы. Для того, чтобы каждый раз не инсталлить модули, я делал свой дистрибутив python и уже его инсталлил на сторонних машинах

Офлайн

  • Пожаловаться

  • Начало
  • » Python для новичков
  • » Проблема с vcvarsall.bat

1 answer to this question.

Hello @kartik,

Try installing these packages.

sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev libssl-dev

sudo easy_install greenlet

sudo easy_install gevent

Any one package will solve the error

Hope it work!






answered

Jun 5, 2020


by
Niroj


• 82,840 points



Related Questions In Python

  • All categories

  • ChatGPT
    (4)

  • Apache Kafka
    (84)

  • Apache Spark
    (596)

  • Azure
    (131)

  • Big Data Hadoop
    (1,907)

  • Blockchain
    (1,673)

  • C#
    (141)

  • C++
    (271)

  • Career Counselling
    (1,060)

  • Cloud Computing
    (3,446)

  • Cyber Security & Ethical Hacking
    (147)

  • Data Analytics
    (1,266)

  • Database
    (855)

  • Data Science
    (75)

  • DevOps & Agile
    (3,575)

  • Digital Marketing
    (111)

  • Events & Trending Topics
    (28)

  • IoT (Internet of Things)
    (387)

  • Java
    (1,247)

  • Kotlin
    (8)

  • Linux Administration
    (389)

  • Machine Learning
    (337)

  • MicroStrategy
    (6)

  • PMP
    (423)

  • Power BI
    (516)

  • Python
    (3,188)

  • RPA
    (650)

  • SalesForce
    (92)

  • Selenium
    (1,569)

  • Software Testing
    (56)

  • Tableau
    (608)

  • Talend
    (73)

  • TypeSript
    (124)

  • Web Development
    (3,002)

  • Ask us Anything!
    (66)

  • Others
    (1,929)

  • Mobile Development
    (263)

Subscribe to our Newsletter, and get personalized recommendations.

Already have an account? Sign in.

Понравилась статья? Поделить с друзьями:
  • Error sprintf was not declared in this scope
  • Error setting value of context attribute
  • Error setting usbasp isp clock khazama
  • Error setting up user folders assetto corsa
  • Error spmhdb 238