MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 19

 
capissimo:

1. Изначально у меня был установлен Python 3.7.2. Установил ваш пакет и командной оболочеке и в блокноте Jupyter вылезает та же самая ошибка:  RuntimeError: IPC call failed

2. Я снес Python 3.7.2, установил Python 3.8, но та же история - исходно не устанавливается в Python 3.8

3. Установил Anaconda Python, специально создал виртуальную среду для Python 3.7.2 и попытался pip-нуть ваш пакет и выполнить пример - тот же вид, но с боку:  RuntimeError: IPC call failed

Таким образом, в Python 3.8 пакет не устанавливается вообще. В Python 3.7.2 вылезает ошибка RuntimeError: IPC call failed. Точка
 
Maxim Dmitrievsky:

что-то не так делаете

Maxim Dmitrievsky:

Хорошее пособие как работать с данными и немного МО, если что-то не знали, но забыли. В в т.ч. подсказка как перестать думать что питон тормоз.

https://jakevdp.github.io/PythonDataScienceHandbook/

Вот отчет в Python 3.8


C:\Users\labor>pip install MetaTrader5

Collecting MetaTrader5

  Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz

Installing collected packages: MetaTrader5

    Running setup.py install for MetaTrader5 ... error

    ERROR: Command errored out with exit status 1:

     command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile

         cwd: C:\Users\labor\AppData\Local\Temp\pip-install-283aremb\MetaTrader5\

    Complete output (16 lines):

    running install

    running build

    running build_py

    creating build

    creating build\lib.win-amd64-3.8

    creating build\lib.win-amd64-3.8\MetaTrader5

    copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5

    running build_ext

    building 'MetaTrader5.C' extension

    creating build\temp.win-amd64-3.8

    creating build\temp.win-amd64-3.8\Release

    creating build\temp.win-amd64-3.8\Release\src

    creating build\temp.win-amd64-3.8\Release\src\Interprocess

    creating build\temp.win-amd64-3.8\Release\src\Connector

    cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj

    error: command 'cl.exe' failed: No such file or directory

    ----------------------------------------

ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.


Вот отчет в Python 3.7.2

Создал в JreBrains IDE проект под Python 3.7.2. Загрузил тестовый файл metatrader5-test.py и получил тот же рузельтат:

C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py

Traceback (most recent call last):

  File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>

    ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)

[2, 'Exness-MT5Real', '0000000'] # нули закрывают реальный код

RuntimeError: IPC call failed

[500, 2174, '11 Oct 2019']

Process finished with exit code 1


Примечание: localhost в Options -> Expert Advisers добавил. НЕ работает.

 
capissimo:

Спотыкается на :

ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13),10000, MT5_COPY_TICKS_ALL) 

...

RuntimeError: IPC call failed


Путь к терминалу прописал через r (raw). Сам терминал определяется, разумеется.

В момент когда это происходит Терминал работает, т.е. он не завис (например, меню работает)?
 
capissimo:

Вот отчет в Python 3.8


C:\Users\labor>pip install MetaTrader5

Collecting MetaTrader5

  Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz

Installing collected packages: MetaTrader5

    Running setup.py install for MetaTrader5 ... error

    ERROR: Command errored out with exit status 1:

     command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile

         cwd: C:\Users\labor\AppData\Local\Temp\pip-install-283aremb\MetaTrader5\

    Complete output (16 lines):

    running install

    running build

    running build_py

    creating build

    creating build\lib.win-amd64-3.8

    creating build\lib.win-amd64-3.8\MetaTrader5

    copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5

    running build_ext

    building 'MetaTrader5.C' extension

    creating build\temp.win-amd64-3.8

    creating build\temp.win-amd64-3.8\Release

    creating build\temp.win-amd64-3.8\Release\src

    creating build\temp.win-amd64-3.8\Release\src\Interprocess

    creating build\temp.win-amd64-3.8\Release\src\Connector

    cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj

    error: command 'cl.exe' failed: No such file or directory

    ----------------------------------------

ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-283aremb\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-t10_91ai\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.


Вот отчет в Python 3.7.2

Создал в JreBrains IDE проект под Python 3.7.2. Загрузил тестовый файл metatrader5-test.py и получил тот же рузельтат:

C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py

Traceback (most recent call last):

  File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>

    ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)

[2, 'Exness-MT5Real', '0000000'] # нули закрывают реальный код

RuntimeError: IPC call failed

[500, 2174, '11 Oct 2019']

Process finished with exit code 1


Примечание: localhost в Options -> Expert Advisers добавил. НЕ работает.

в первом случае нужен какой-то компилятор, я так понял, что бы собрать пакет. Мб разработчики ответят. У меня все работает на 3.7

 
Almaz:
В момент когда это происходит Терминал работает, т.е. он не завис (например, меню работает)?
Терминал работает как надо.
 
Maxim Dmitrievsky:

в первом случае нужен какой-то компилятор, я так понял, что бы собрать пакет. Мб разработчики ответят. У меня все работает на 3.7

А как его скомилировать, если нет Git этого пакета, нет его исходников? 
 
capissimo:
А как его скомилировать, если нет Git этого пакета, нет его исходников? 
Оно само компилируется в момент установки пакета на вашем компе, для этого нужно установить какой-нибудь сишный компилятор, например cL.exe как там написано в логах. Процесс не может его найти у вас
 
Maxim Dmitrievsky:
Оно само компилируется в момент установки пакета на вашем компе, для этого нужно установить какой-нибудь сишный компилятор, например cL.exe как там написано в логах. Процесс не может его найти у вас

Скачал VC_redist.x64.exe. Безрезультатно пока и уверен, что я не должен этим заниматься - это дело разработчика, не так ли? По крайней мере, должна иметься детальная документация, учитывающая все случаи. Универсум не так-то большой - всего 3 ветки операционных систем - Win/Linux/MacOS:

C:\Users\labor>pip install MetaTrader5

Collecting MetaTrader5

  Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz

Installing collected packages: MetaTrader5

    Running setup.py install for MetaTrader5 ... error

    ERROR: Command errored out with exit status 1:

     command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile

         cwd: C:\Users\labor\AppData\Local\Temp\pip-install-d68bdu0o\MetaTrader5\

    Complete output (16 lines):

    running install

    running build

    running build_py

    creating build

    creating build\lib.win-amd64-3.8

    creating build\lib.win-amd64-3.8\MetaTrader5

    copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5

    running build_ext

    building 'MetaTrader5.C' extension

    creating build\temp.win-amd64-3.8

    creating build\temp.win-amd64-3.8\Release

    creating build\temp.win-amd64-3.8\Release\src

    creating build\temp.win-amd64-3.8\Release\src\Interprocess

    creating build\temp.win-amd64-3.8\Release\src\Connector

    cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj

    error: command 'cl.exe' failed: No such file or directory

    ----------------------------------------

ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.


 
capissimo:

Скачал VC_redist.x64.exe. Безрезультатно пока и уверен, что я не должен этим заниматься - это дело разработчика, не так ли?:

C:\Users\labor>pip install MetaTrader5

Collecting MetaTrader5

  Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz

Installing collected packages: MetaTrader5

    Running setup.py install for MetaTrader5 ... error

    ERROR: Command errored out with exit status 1:

     command: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile

         cwd: C:\Users\labor\AppData\Local\Temp\pip-install-d68bdu0o\MetaTrader5\

    Complete output (16 lines):

    running install

    running build

    running build_py

    creating build

    creating build\lib.win-amd64-3.8

    creating build\lib.win-amd64-3.8\MetaTrader5

    copying MetaTrader5\__init__.py -> build\lib.win-amd64-3.8\MetaTrader5

    running build_ext

    building 'MetaTrader5.C' extension

    creating build\temp.win-amd64-3.8

    creating build\temp.win-amd64-3.8\Release

    creating build\temp.win-amd64-3.8\Release\src

    creating build\temp.win-amd64-3.8\Release\src\Interprocess

    creating build\temp.win-amd64-3.8\Release\src\Connector

    cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DUNICODE -Isrc -Ic:\python38\include -Ic:\python38\include /EHsc /Tpsrc/MetaTrader.cpp /Fobuild\temp.win-amd64-3.8\Release\src/MetaTrader.obj

    error: command 'cl.exe' failed: No such file or directory

    ----------------------------------------

ERROR: Command errored out with exit status 1: 'c:\python38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"'; __file__='"'"'C:\\Users\\labor\\AppData\\Local\\Temp\\pip-install-d68bdu0o\\MetaTrader5\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\labor\AppData\Local\Temp\pip-record-mt16672p\install-record.txt' --single-version-externally-managed --compile Check the logs for full command output.


вроде именно Microsoft build tools и не хватало, вот что пишут:

https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed

т.е. нужно добавить cl.exe в PATH, или открыть командную строку из папки куда он установлен, и оттуда pip install metatrader5

разрабы не должны, просто система компилятор не видит

python pip on Windows - command 'cl.exe' failed
python pip on Windows - command 'cl.exe' failed
  • 2017.01.18
  • ashishsingalashishsingal 92422 gold badges99 silver badges2323 bronze badges
  • stackoverflow.com
I'm trying to install spaCy using but I'm getting the following error .. I have VS 2015 installed, and I have the following Python install .. I tried the following SO solutions to no avail .. As...
 
Maxim Dmitrievsky:

вроде именно Microsoft build tools и не хватало, вот что пишут:

https://stackoverflow.com/questions/41724445/python-pip-on-windows-command-cl-exe-failed

т.е. нужно добавить cl.exe в PATH, или открыть командную строку из папки куда он установлен, и оттуда pip install metatrader5

разрабы не должны, просто система компилятор не видит

По крайней мере, должна иметься детальная документация, учитывающая все случаи. Универсум не так-то большой - всего 3 ветки операционных систем - Win/Linux/MacOS.

Установил Microsoft build tools с https://visualstudio.microsoft.com/ru/downloads/?rr=https%3A%2F%2Fwww.google.com%2F. Теперь пакет устанавливается в Python 3.8. Эта проблема РЕШЕНА.

C:\Users\labor>pip install MetaTrader5

Collecting MetaTrader5

  Using cached https://files.pythonhosted.org/packages/3c/c8/713f1b8283cbbdef30dc9cf50a5d767f9b4a194eb4f886a8e50074b696a1/MetaTrader5-5.0.6.tar.gz

Installing collected packages: MetaTrader5

    Running setup.py install for MetaTrader5 ... done

Successfully installed MetaTrader5-5.0.6


НО! Ошибка RuntimeError: IPC call failed осталась:

C:\Users\labor>C:\Users\labor\Anaconda3\envs\metatrader5\python.exe C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py

[2, 'Exness-MT5Real', '0000000']  # код обнулен в распечатке

[500, 2174, '11 Oct 2019']

Traceback (most recent call last):

  File "C:/Users/labor/Downloads/MetaTrader5-Python/metatrader5-test.py", line 10, in <module>

    ticks1 = MT5CopyTicksFrom("EURAUD", datetime(2019,1,28,13), 10000, MT5_COPY_TICKS_ALL)

RuntimeError: IPC call failed

Скачиваемые файлы | IDE, Code и Team Foundation Server | Visual Studio
Скачиваемые файлы | IDE, Code и Team Foundation Server | Visual Studio
  • 2019.08.29
  • visualstudio.microsoft.com
Интегрированное комплексное решение для разработчиков, обеспечивающее высокую производительность и удобную координацию между командами любых размеров. Дополнительные сведения см. в Заметках о выпуске. Повышайте производительность с помощью профессиональных инструментов разработки и служб, предназначенных для создания приложений для любой...
Причина обращения: