Как запустить бота на сервере

Небольшая статья о том, как заставить бота работать не на вашем компьютере, а где-то еще в интернете, круглосуточно, с хорошим постоянным интернет-соединением. Зачем? А что бы не приходилось комп держать постоянно включенным. Поехали.

Шаг первый. Арендуем выделенный сервер.

Я пользуюсь DigitalOcean.com, т.к. мне нравится сервис и удобство пользования. Для работы бота достаточно аренды виртуального сервера за 5$ в месяц. Если зарегистрируетесь по моей ссылке (если не работает, то попробуйте эту), то сайт предоставит вам в долг 10$, чего должно хватить на два месяца тестирования. Можно найти и другой VPS/VDS, в статье же будет рассмотрен запуск бота на VPS на базе Ubuntu.

Итак, регистрация. Тут нет ничего сложного. Переходим на сайт, и нажимаем SIGN UP:

Просят подтвердить почту - идем в свой почтовый ящик и подтверждаем

После этого сервис попросит вас указать данные карты, с которой 1го числа следующего месяца будет произведено списание средств. По-моему, необязательно что бы на ней были деньги, главное, что бы это была рабочая карта со сроком годности и т.п. 

После прохождения регистрации, вы попадаете в панель управления дроплетами. Дроплеты – это как раз виртуальные выделенные сервера, вам предстоит создать свой и запустить на нём бота.

Нажмите Create и выберите Droplets

Выбираете Ubuntu (какая там будет доступна на данный момент), и сервер за 5$ в месяц.

 

Ниже будет выбор страны базирования сервера, прочее, что вам пока что не нужно, проматывайте вниз и нажимайте зеленую кнопку Create

             Дроплет начнет разворачиваться и появится в списке дроплетов – дождитесь конца установки.

После окончания вам на почту придет информация о сервере – IP адрес, логин и пароль

Итак, дроплет создан, пора начать им пользоваться в наших целях.


Реклама


Шаг второй. Подключение к серверу и смена пароля.

Так как сервер на базе Linux, то придется немного изменить свои привычки, и освоить кое-что новое. Нам понадобятся две программы, первая – консольный клиент putty (почувствуй себя хакером ;)) Качаем тут

(если не знаете, какую качать, качайте первую).

После скачивания и установки запускайте, и давайте подключимся к вновь созданному серверу. Программа запросит реквизиты для подключения. Укажите IP адрес, который вам прислали в письме, и нажмите Enter.

Появится черное окно, и запрос, доверяете ли вы этому серверу – нажимайте «Да».

После этого в черном окне появится приглашения на ввод имени пользователя и пароля. Введите root, нажмите Enter, введите пароль из почты. Важно – пароль не отображается на экране, так что нет повода для паники. Совет – скопированный текст можно вставлять правой кнопкой мыши, так что введите сначала root, Enter, потом копируйте пароль на почте, нажимайте правой кнопкой мыши в черном окне и Enter – и вы должны попасть на свой сервер.

От вас сразу же потребуют, что бы вы сменили пароль, так что

  1. Укажите текущий пароль (он не отобразится) Enter.
  2. Придумайте и введите новый пароль (он тоже не будет отображаться), Enter, и
  3. Еще раз укажите новый пароль. Запомните, а лучше запишите его!

Если пароль будет слишком простым, то система ругнется и попросит придумать новый.


Реклама


Шаг третий – закинуть бота на сервер.

Тут нужна будет программа WinSCP. Скачать её можно отсюда https://winscp.net/eng/download.php.

Устанавливаем, запускаем (я указываю интерфейс коммандера, а не проводника), после запуска указываем IP адрес, пользователь – root, пароль – тот, что вы придумали на прошлом шаге. Нажимаем «Войти». Вас спросят, доверяете ли вы серверу, отвечайте «Да»

У вас будут открыты две панели – слева ваш компьютер, справа – ваш сервер. Нужно из левой панели в правую перетащить ваш файл с ботом. Найдите где там он у вас лежит, и мышкой перетащите – я уже перетащил:

В файле должны быть уже прописаны ключи и все такое. Если у вас несколько ботов, перетаскивайте всех, под разными названиями, конечно.


Реклама


Шаг четвертый – запуск бота.

Возвращаемся в окно putty, что бы проверить работу бота. Если putty уже закрылось, то переподключитесь, указав уже новый пароль. Про старый в любом случаем уже можно забыть.

Итак, вы на сервере, для начала давайте проверим, что все работает как надо.

Выполните команду

python3.5 ./exmo.py

И вы должны увидеть что-то вроде:

 Нажмите Ctrl+C, что бы остановить бота. Он работает, но если вы сейчас закроете putty или выключите компьютер или отвалится интернет, то и бот перестанет работать. Поэтому бота мы будем запускать по другому.

Выполните команду

screen

Вы увидите окно с текстом, нажмите просто Enter

Визуально вам покажется, что ничего не произошло, но на самом деле вы запустили виртуальную сессию на сервере, которая будет работать независимо от того, подключены вы или нет. Что бы проверить, что вы все сделали правильно, выполните команду

echo $STY

Если вернется строка с информацией, значит вы внутри виртуальной сессии.

Так что запускайте бота тут, в этой виртуальной сессии

python3.5 ./exmo.py

и он будет работать круглосуточно.

Проверьте, закройте окно putty и подключитесь заново. Ничего не происходит, бота нет?! На самом деле, он продолжает работать в фоне. Выполните команду

screen -ls

и вы увидите запущенные виртуальные сессии

Число в начале строки – это PID процесса. Что бы подключится к выбранному экрану, выполните команду

screen -r -d 2013

2013 надо будет заменить на ваше число, разумеется. И.. вы снова попадете к боту и можете посмотреть, чем он там занимается.


Реклама


Дополнительно.

Что бы запустить несколько ботов, надо для каждого запустить свою сессию screen, и в каждой сессии запускать по боту. Т.е. упрощенно говоря, выполняете screen, Enter, python3.5 ./bot1.py, после чего закрываете putty (либо нажимаете Ctrl+A+D), и опять screen, Enter, python3.5 ./bot2.py и т.п.

Так же процитирую полезную иформацию из комментариев:

Я запустил у себя на сервере сразу 8 ботов и чтобы не путаться в файлах и не запоминать цифры при обращении к нужному боту создавал их под именами. Вызывается командой:
screen -S "----------" (вместо ------ написать название валюты например BTC)
получается запись:
463.BCH (12/19/2017 09:55:02 AM) (Detached)
351.ETH (12/19/2017 09:38:11 AM) (Detached)
32721.ZEC (12/19/2017 09:29:58 AM) (Detached)
31661.XMR (12/19/2017 04:00:47 AM) (Detached)
18677.XRP (12/15/2017 05:52:05 PM) (Detached)
18534.ETC (12/15/2017 05:49:01 PM) (Detached)
18470.LTC (12/15/2017 05:47:43 PM) (Detached)
18408.BTC (12/15/2017 05:45:51 PM) (Detached)
И второе, когда пробовал как торгует бот насоздавал кучу сессий, потом их останавливал и создавал новые, но не работающие сессии остались и сильно мешали, потом нашел команду по их удалению: 
Подключиться к сессии screen -r -d 2013 (число-работающий бот) Cntr+a и ввести :quit

Если требуется внести изменения в бота, то алгоритм будет следующим: Вы подключаетесь к сессии бота, как написано выше, нажимаете Ctrl+C, что бы его остановить, с помощью winSCP закидываете новую версию файла на сервер (или правите прямо там), и заново запускаете python3.5 ./exmo.py

UPD. Для того, что бы установить ta-lib и прочее, нужно выполнить эти команды:

apt install python3-pip
pip3 install numpy
wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
tar -xvzf ./ta-lib-0.4.0-src.tar.gz
cd ./ta-lib/
./configure --prefix=/usr
make
make install
pip3 install TA-lib

Реклама


Заключение

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


Это статья из цикла "Популярно о бирже"
Все статьи цикла:

Последнее изменение:

Не забудьте рассказать друзьям об этой статье.
Чтобы поддержать ресурс Bablofil достаточно просто поделиться с друзьями этой статьей в социальных сетях. Каждый репост - это самая высокая оценка качества материала. Спасибо, что читаете этот блог.



Комментарии
11.11.2017 18:26:25
При закрытии putty и бот отключается. Делал всё по шагам.
ПроголосоватьПроголосовать
0 0
11.11.2017 18:32:02
Пишет cannot exxes и всё.
ПроголосоватьПроголосовать
0 0
11.11.2017 22:04:47
А что выводит команда
echo $STY
если выполнить её перед запуском бота?
И скопируйте текст ошибки.
Инструкция рабочая. Если хотите, пишите в фейсбук или на почту со скриншотами
ПроголосоватьПроголосовать
0 0
15.11.2017 21:05:52
root@ubuntu-512mb-nyc3-01:~# pip install numpy
The program 'pip' is currently not installed. You can install it by typing:
apt install python-pip
библиотеки не устанавливаются
ПроголосоватьПроголосовать
0 0
16.11.2017 13:16:43
Точно, обновил статью
ПроголосоватьПроголосовать
0 0
16.11.2017 08:42:37
Ув. Андрей, ваша реферальная ссылка (https://m.do.co/c/41ea66be21d8) не работает в брайзерах. Антивир её не пропускает, а браузер пишет:
Этот сайт не может обеспечить безопасное соединение
На сайте m.do.co используется неподдерживаемый протокол.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Как по ней зарегиться?
ПроголосоватьПроголосовать
0 0
16.11.2017 13:19:20
Спасибо за информацию. Добавил в статью ссылку из комментария ниже - https://www.digitalocean.com/?refcode=41ea66be21d8
ПроголосоватьПроголосовать
0 0
16.11.2017 08:59:41
Я порылся в сети и нашел образец рефки, как правильно. Рефка Андрея будет такой:https://www.digitalocean.com/?refcode=41ea66be21d8
Она рабочая в отличии от той, которая в начале поста.
ПроголосоватьПроголосовать
0 0
16.11.2017 13:17:26
Ух ты, спасибо!
ПроголосоватьПроголосовать
0 0
17.11.2017 21:26:41
Андрей еще проблема такая на сервере 2 бота на полонекс и на битрекс за 3 дня лог файлы один 6 гб второй 3 гб как в логе оставить только выполненный цикл купил продал ну и дату?
ПроголосоватьПроголосовать
0 0
17.11.2017 21:46:25
Как вариант можно закомментировать всё ненужное, все вызовы функции log

аля
log("Получаем все неисполненные ордера по БД")
в
#log("Получаем все неисполненные ордера по БД")
ну или удалить их вообще
ПроголосоватьПроголосовать
0 0
18.11.2017 23:30:17
не получается установить талиб итд пишет E: Unable to locate package python3-pip
ПроголосоватьПроголосовать
0 0
19.11.2017 00:15:42
Это на DigitalOcean, Ubuntu? Я проверял на свежесозданном дроплете..

Попробуйте так
apt-get update
apt-get install python3-pip
ПроголосоватьПроголосовать
0 0
19.11.2017 15:54:07
Спасибо за ответ, всё получилось как написано в статье, я следовал тексту и пытался установить дополнения после того как зашёл в screen -r -d 2013, а надо сразу устанавливать после того как ввели логин и пароль
ПроголосоватьПроголосовать
0 0
19.11.2017 16:22:11
Андрей я подключил ексмо бот к серверу после того как я захожу в окно терминала, что бы посмотреть как он работает я вижу всего несколько строк(при debug = TRUE ), как мне просмотреть все сообщения бота с момента запуска или может как то изменить print на log и скидывать все сообщения в текстовый файл
ПроголосоватьПроголосовать
0 0
20.11.2017 00:45:31
В линуксе всё просто - можно перенаправить вывод в файл
python3.5 ./exmo.py >> ./log.txt
Тогда будет писать всё в файл (но на экран не будет)

А можно вот так:
python3.5 ./exmo.py | tee -a ./log.txt
тогда будет писать и туда и туда
ПроголосоватьПроголосовать
0 0
20.11.2017 00:57:40
Спасибо, я пока ждал вашего ответа разобрался с logging. правда никак ни могу отыскать где он на сервере сохраняет файл логов
ПроголосоватьПроголосовать
0 0
20.11.2017 10:50:43
Вообще там где скажете, обычно рядом со скриптом.
Возможно, он настроен у вас так, что никуда не сохраняет, а выводит на консоль :) Он так умеет и делает по умолчанию, если файл не указан
ПроголосоватьПроголосовать
0 0
05.12.2017 17:19:44
В статье, в разделе Дополнительно. Страшная ссылка после wget. Видимо трудности с отображением исходного кода на сайте. Браузер Firefox 57.0.1 Какая строка там должна быть?
apt install python3-pip
pip3 install numpy
wget <a href="https://l.facebook.com/l.php?u=http%3A%2F%2Fprdownloads.sourceforge.net%2Fta-lib%2Fta-lib-0.4.0-src.tar.gz&h=ATPy1uX8MkNUfNNuwmZMvPhNFlcDJmKCTrIGF5OCjs_80Lop71uo-JDFNcxMmvv5BrdO4ilxZxWrcMiFTPOlEAOblp5EB9Jzy-NB-F6h9fsxyWEcFEaSTZ7pppQ6BcoGEcKJl_D0ZFAA" rel="nofollow noopener" target="_blank">http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz</a>
tar -xvzf ./ta-lib-0.4.0-src.tar.gz
cd ./ta-lib/
./configure --prefix=/usr
make
make install
pip3 install TA-lib
ПроголосоватьПроголосовать
0 0
07.12.2017 16:46:56
Поправил, спасибо
ПроголосоватьПроголосовать
0 0
12.12.2017 19:07:11
Андрей, как с этим бороться? Спасибо!
-bash-4.1# python3.5 exmo_1.py
Traceback (most recent call last):
  File "exmo_1.py", line 7, in <module>
    import talib
  File "/usr/local/lib/python3.5/site-packages/talib/__init__.py", line 4, in <module>
    from . import common
ImportError: libta_lib.so.0: cannot open shared object file: No such file or directory
</module></module>
ПроголосоватьПроголосовать
0 0
12.12.2017 19:19:29
Прошу прощения, вопрос исчерпан.
https://stackoverflow.com/questions/11813279/python-wrapper-for-ta-lib-import-failure
Теперь проблема с модулем requests
ImportError: No module named 'requests'
ПроголосоватьПроголосовать
0 0
12.12.2017 19:50:16
Всё получилось Андрей! Спасибо .. за помощь! %)
ПроголосоватьПроголосовать
0 0
18.12.2017 16:26:41
:)) Вот и чудненько
ПроголосоватьПроголосовать
0 0
14.12.2017 13:53:32
Добрый день.
При установке ошибка 
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-lh5immnd/TA-lib/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-d85esy3z-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-lh5immnd/TA-lib/
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Не пойму как решить, помогите пожалуйста
ПроголосоватьПроголосовать
0 0
14.12.2017 16:36:58
Разобрался. Я понял, нужно обновить pip до 9 версии, выполнил команду pip3 install -U pip
ПроголосоватьПроголосовать
0 0
17.12.2017 17:54:56
Странно, у меня пишет invalid syntax. Хотя локально на моем компе все запускается и работает без ошибок.
ПроголосоватьПроголосовать
0 0
17.12.2017 19:07:10
И на сервере питон версии 3.6 с установленными библиотеками.
ПроголосоватьПроголосовать
0 0
17.12.2017 19:11:50
Команда '"./DASH.py"' завершилась с кодом ошибки 2 и сообщением
./DASH.py: line 1: import: command not found
./DASH.py: line 2: import: command not found
./DASH.py: line 3: import: command not found
./DASH.py: line 5: import: command not found
./DASH.py: line 6: import: command not found
./DASH.py: line 7: import: command not found
./DASH.py: line 8: import: command not found
./DASH.py: line 9: $'\r': command not found
./DASH.py: line 11: API_KEY: command not found
./DASH.py: line 13: API_SECRET: command not found
./DASH.py: line 14: $'\r': command not found
./DASH.py: line 16: CURRENCY_1: command not found
./DASH.py: line 17: CURRENCY_2: command not found
./DASH.py: line 18: $'\r': command not found
./DASH.py: line 19: BEAR_PERC: command not found
./DASH.py: line 20: BULL_PERC: command not found
./DASH.py: line 21: $'\r': command not found
./DASH.py: line 22: CURRENCY_1_MIN_QUANTITY: command not found
./DASH.py: line 23: $'\r': command not found
./DASH.py: line 24: ORDER_LIFE_TIME: command not found
./DASH.py: line 25: STOCK_FEE: command not found
./DASH.py: line 26: AVG_PRICE_PERIOD: command not found
./DASH.py: line 27: CAN_SPEND: command not found
./DASH.py: line 28: PROFIT_MARKUP: command not found
./DASH.py: line 29: DEBUG: command not found
./DASH.py: line 30: $'\r': command not found
./DASH.py: line 31: STOCK_TIME_OFFSET: command not found
./DASH.py: line 32: $'\r': command not found
./DASH.py: line 34: API_URL: command not found
./DASH.py: line 35: API_VERSION: command not found
./DASH.py: line 36: $'\r': command not found
./DASH.py: line 38: syntax error near unexpected token `('
./DASH.py: line 38: `class ScriptError(Exception)
ПроголосоватьПроголосовать
0 0
18.12.2017 16:33:22
Нужно  запускать так

python3.5 ./DASH.py

либо - но это сложный путь
1. Выполнить команду 
which python3.5
он напишет что-то вроде
/usr/bin/python3.5
2. В файле, в самом верху, написать 
#!/usr/bin/python3.5
3. Выполнить команду 
chmod +x ./DASH.py
4. После этого можно запускать просто ./DASH.py

А так он думает что это скрипт на bash, и ругается
ПроголосоватьПроголосовать
0 0
19.12.2017 11:42:17
Андрей, спасибо, за отличные статьи Вы сэкономили кучу времени для нас всех. Хочу немного поделиться по линуксу. Я запустил у себя на сервере сразу 8 ботов и чтобы не путаться в файлах и не запоминать цифры при обращении к нужному боту создавал их под именами. Вызывается командой:
screen -S "----------" (вместо ------ написать название валюты например BTC)
получается запись:
463.BCH (12/19/2017 09:55:02 AM) (Detached)
351.ETH (12/19/2017 09:38:11 AM) (Detached)
32721.ZEC (12/19/2017 09:29:58 AM) (Detached)
31661.XMR (12/19/2017 04:00:47 AM) (Detached)
18677.XRP (12/15/2017 05:52:05 PM) (Detached)
18534.ETC (12/15/2017 05:49:01 PM) (Detached)
18470.LTC (12/15/2017 05:47:43 PM) (Detached)
18408.BTC (12/15/2017 05:45:51 PM) (Detached)
И второе, когда пробовал как торгует бот насоздавал кучу сессий, потом их останавливал и создавал новые, но не работающие сессии остались и сильно мешали, потом нашел команду по их удалению:
Подключиться к сессии screen -r -d 2013 (число-работающий бот) Cntr+a и ввести :quit
Мне кажется, было бы не плохо упомянуть эти команды в Вашей статье.
ПроголосоватьПроголосовать
0 0
13.01.2018 12:12:45
Спасибо, дельный подход!
Добавил информацию в статью
ПроголосоватьПроголосовать
0 0
12.01.2018 22:22:46
Здравствуйте!
Бот замечательно работает на компе.
Попытался запустить его на сервере. Вроде все по инструкции, Но никак не запускается. Вот что пишет

root@DS867789:~# which python3.6
/usr/bin/python3.6
root@DS867789:~# chmod +x ./job2.py
root@DS867789:~# ./job2.py
: No such file or directoryn/python3.6
./job2.py: line 2: import: command not found
./job2.py: line 3: import: command not found
./job2.py: line 4: import: command not found
./job2.py: line 5: import: command not found
./job2.py: line 6: import: command not found
./job2.py: line 7: $'\r': command not found
./job2.py: line 9: import: command not found
./job2.py: line 10: import: command not found
./job2.py: line 11: $'\r': command not found
from: can't read /var/mail/datetime
./job2.py: line 13: $'\r': command not found
./job2.py: line 15: API_KEY: command not found
./job2.py: line 17: API_SECRET: command not found
./job2.py: line 18: $'\r': command not found
./job2.py: line 20: MARKETS: command not found
./job2.py: line 21: BCH_USD,: command not found
./job2.py: line 22: ZEC_USD,: command not found
./job2.py: line 23: $']\r': command not found
./job2.py: line 24: $'\r': command not found
./job2.py: line 25: CAN_SPEND: command not found
./job2.py: line 26: MARKUP: command not found
./job2.py: line 27: $'\r': command not found
./job2.py: line 28: STOCK_FEE: command not found
./job2.py: line 29: PERIOD: command not found
./job2.py: line 30: ORDER_LIFE_TIME: command not found
./job2.py: line 31: $'\r': command not found
./job2.py: line 32: USE_MACD: command not found
./job2.py: line 33: $'\r': command not found
./job2.py: line 34: BEAR_PERC: command not found
./job2.py: line 35: BULL_PERC: command not found
./job2.py: line 36: $'\r': command not found  
./job2.py: line 39: $'\r': command not found
./job2.py: line 40: API_URL: command not found
./job2.py: line 41: API_VERSION: command not found
./job2.py: line 42: $'\r': command not found
./job2.py: line 43: USE_LOG: command not found
./job2.py: line 44: DEBUG: command not found
./job2.py: line 45: $'\r': command not found
./job2.py: line 46: syntax error near unexpected token `all='ignore''
'/job2.py: line 46: `numpy.seterr(all='ignore')
root@DS867789:~# command not found

И просто командой запускал
python3.6  ./job2.py

python3.6   - это уже эксперимент , все то же самое делал с версией  python3.5...
Результат одинаковый. 
Ось стоит на сервере вот такая
root@1                  password:
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-47-generic x86_64)

В чем может быть причина? 
Заранее благодарен за совет.
ПроголосоватьПроголосовать
0 0
13.01.2018 12:13:59
Это опечатка или у вас в первой строчке кода что-то такое странное написано:
n/python3.6
ПроголосоватьПроголосовать
1 0
19.01.2018 09:43:46
Спасибо за Ваш ответ Андрей! Не знаю, что это было. На данный момент работает бот.
ПроголосоватьПроголосовать
0 0
01.02.2018 21:17:44
Сегодня пришло смс о списании средств за DigitalOcean, а значит бонусный период закончился, в связи с этим грустным событием хотел спросить, планируются ли ещё статьи по данной тематике или может подкиньте ещё пару идеек(а мы дальше уже сами загуглим) как и для чего можно использовать ДигиталОкеан?
ПроголосоватьПроголосовать
0 0
02.02.2018 07:59:21
Обычно бывает наоборот - вы хотите что-то делать, и понимаете, что для этого нужен VDS))
Ну так в практическом смысле - можно запустить на нём сайт, можно развернуть прокси и использовать для обхода блокировок - разумеется, не нарушая законов страны проживания ;)
Можно запускать ботов для телеграмма, собирать курсы разных бирж круглосуточно, парсить сайты для сбора нужной информации/контента, использовать как настроенную среду среду разработки для доступа с любого компьютера из дома/работы/отпуска..
Я лично использую один из дроплетов как тестовую среду - например, если мне нужно сделать сайт, я могу выложить результат там для показа и обсуждения.
Так же для некоторых проектов (когда нельзя использовать githab/gitlab) я поднимаю там сервер git - и получаю возможность командной разработки.
Иногда, когда мне срочно нужно проверить работу какого-то скрипта на пхп, например, я подключаюсь на дроплет и проверяю там - это проще и быстрее чем запускать виртуальную машину.
Ну и так далее - применений можно найти много, но большинство случаев могут заменить бесплатные решения, домашний ПК и т.д.
ПроголосоватьПроголосовать
0 0
12.02.2018 17:43:02
Никак талиб не ставится сначала пишет красным  Failed building wheel for TA-lib
потом еще несколько строк и снова красным
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-                                                                                        build-op1uih3a/TA-lib/setup.py';f=getattr(tokenize, 'open', open)(__file__);code                                                                                        =f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"                                                                                         install --record /tmp/pip-nd2c6u1j-record/install-record.txt --single-version-e                                                                                        xternally-managed --compile" failed with error code 1 in /tmp/pip-build-op1uih3a                                                                                        /TA-lib/
ПроголосоватьПроголосовать
0 0
14.02.2018 10:46:16
Переустановка тоже не помогла. Есть идеи, может обновить надо, что то, при входе в putty пишет 65 штук can be upgrade
ПроголосоватьПроголосовать
0 0
14.02.2018 11:04:41
Нашёл решение In this particular case, it has nothing to do with dependencies, it's a memory problem.

I had this problem within a virtualbox VM. My solution was to increase memory allocated to the VM from the default 512Mb to 1024Mb.

159
down vote
Possible solution (if you have no ability to increase memory on that machine) is to add swap file.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
cd ./ta-lib
pip3 install TA-lib
Похоже кончилась память, надеюсь Андрей прокомментирует ситуацию
ПроголосоватьПроголосовать
0 0
15.02.2018 07:26:55
Память не кончилась, но для установки Талиба 512 Mb недостаточно, нужно 1024. Вы можете перейти на тарифный план за 10 долларов, установить Талиб и вернуться, либо использовать указанное вами решение - оно вполне рабочее. Вы создали файл подкачки, который будет использоваться как дополнительная оперативная память, а т.к. диск у вас SSD то и сильного проседания скорости вы не заметите. Если все же заметите проседание скорости (что врядли), или нужно место, то после установки талиба вы можете выполнить команды
sudo swapoff /swapfile
rm /swapfile
Но лучше оставить, для просчета большого количества свечей память все равно потребуется
ПроголосоватьПроголосовать
0 0
Пожалуйста, авторизуйтесь, что бы оставить свой комментарий
Крипто-кошельки для помощи и благодарности проекту:

Bitcoin адрес проекта: [[address]]

Перевод на сумму [[value]] BTC получен. Спасибо!.
[[error]]

Ethereum адрес проекта: [[address]]