Thomas
#!/bin/bash
sudo pip install pybloomfiltermmap==0.3.14 phply==0.9.1 nltk==3.0.1 tblib==0.2.0 pdfminer==20140328 pyOpenSSL==18.0.0 ndg-httpsclient==0.4.0 lxml==3.4.4 guess-language==0.2 cluster==1.1.1b3 python-ntlm==1.0.1 darts.util.lru==0.5 vulndb==0.1.1 markdown==2.6.1 psutil==5.4.8 ds-store==1.1.2 mitmproxy==0.13 ruamel.ordereddict==0.4.8 Flask==0.10.1 PyYAML==3.12 tldextract==1.7.2 pebble==4.3.8 acora==2.1 esmre==0.3.1 diff-match-patch==20121119 bravado-core==5.0.2 vulners==1.3.0 ipaddresses==0.0.2 xdot==0.6
npm install -g retire
Thomas
пишет мол запусти меня и всё ок будеи
Aragaer
еще и npm
Aragaer
а он не просит номер карточки отправить куда-нибудь?
Бен
У нее наверное зависимости какие-то есть
Egor
скрипт - сам создался
значмт он создался не правильно) думаю тут лучше начать с нуля и подумать как это должно делаться без скриптов
Thomas
да вот тулза сама
Thomas
https://github.com/andresriancho/w3af.git
Бен
Бен
Ну типа принято делать через requirements но это абсолютно одно и тоже
Egor
по поводу потоков в общем вопрос - у меня есть объект с параметрами подключения к бд. когда я пытаюсь скормить его в поток, чтобы внутри него делать кое какие запросы в бд. И при попытке юзать этот объект именно из потока, вижу ошибки такого характера gevent.exceptions.ConcurrentObjectUseError: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent.__waiter.Waiter object at 0x7fbef8100ea8>>
Thomas
pip3 install -r requrements.txt
сделал файл с зависимостями, ставит первую и выдаёт
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-62b909oy/pybloomfiltermmap/
Egor
в проекте flask_socketio с gevent-websocket (юзается gevent при помощи запуска гуникорна с ключом geventwebsocket.gunicorn.workers.GeventWebSocketWorker)
Egor
Egor
с нуля
Egor
так проще и понятней будет
Egor
а лучше подыми в виртуалке и снимки ебош, чтобы если че не потерять наполовину сделанную работу
Egor
ну, как новичку, это норм наверно
Egor
а иначе будешь путаться ваще на всех этапах развертывания, видно что опыта в этом немного)
Бен
Бен
У тебя первая хрень не хочет ставиться
Бен
Там не важно ты из файла или командой
Бен
Мб чето недоустановил, погугли конкретно по либе
Бен
У нее наверное зависимости какие-то есть
Бен
Либо можно прекомпиленный wheel скачать и установить
Thomas
print "info: Building from Cython"
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("info: Building from Cython")?
Thomas
вот походу в чем дело
Egor
да wheel тож незачем
Бен
Thomas
слушайте, да наверное в этом дело
Thomas
не подумал
Бен
Egor
ну так то да
Egor
я четвертый день япусь со своим проектом уже башка не варит
Egor
структура питоновского энвиронмента в упрощенном виде похожа как минимум на вот это, особенно для новичка
Egor
так что лучше пусть начинает с нуля
Egor
Бен
Бен
Ваще нет лол)
do not import flask
do not import flask
Egor
ну а как он без суда до библиотек достучится?
Egor
Egor
внятного решения там нет
Бен
do not import flask
nu bez koda ril ne skazesh
Egor
Но я совсем забыл - если объект запилить внутри потока ручками то все работает
Egor
короче вопрос конкретно в том, что нужно типа создать в потоке экземпляр класса
Egor
так чтобы он не был зависим от основного класса от слова никак
Egor
потому что по сути создавая объект с параметрами подключения к бд внутри потока, я как бы это и делаю, только слишком избыточно
do not import flask
meta?
Egor
meta?
мб, пойду знакомиться с метаклассами
Egor
спс
Egor
но хочу добавить что просто как бы экземпляр класса я пробовал юзать, потипу есть класс DB и я такой делаю db = DB() и так не прокатило
Egor
в прочем атрибутов там с гулькин нос в самом классе, ибо я по ООП ваще тугой
Бен
Бен
В каком смысле зависим?
Egor
попробую абстрагироваться до изи ситуации. есть класс DB, внутри него допустим есть print('connected'). Я хочу чтобы при вызове этого класса 2 раза, у меня было два принта с connected
Egor
на данный момент как бы принт будет один, даже если 100500 раз этот класс импортировать, экземпляры создавать, и тд
Egor
оттого и ругань у гевента ,мол вася нехуй создавать коннект в одном треде, и раздавать на 3 других
Egor
по сути я хочу чтобы с каждый тредом кннект создавался индивидуально, но я не хочу писать несколько раз параметры подключения к бд, я хочу иметь класс db и нескольо раз его дергать
Egor
надеюсь ситуацию описал внятно
Бен
Egor
🤔
Бен
🤔
Бен
Бля форматирование
Egor
Egor
как я уже говорил, с классами я довольно туговат
Egor
то есть в init ого будет каждый раз переинициилизироваться?
Бен
init вызывается при создании экземпляра класса
Egor
боже храни ООП
Egor
спс
Egor
щас попробую
Egor
я кстати полагал что init нужен только если есть некие параметры которые нужно в класс передавать при создании экземпляра