Drakkar-Software / OctoBot

Open source crypto trading bot
https://www.octobot.cloud
GNU General Public License v3.0
3.38k stars 766 forks source link

Failed all attempts to install and run on Raspbian #2306

Closed PieceOfGood closed 1 year ago

PieceOfGood commented 1 year ago

Step 2: Describe your environment

Step 3: Describe the problem:

Expected behavior At least installation and launch.

Steps to reproduce:

Output when running the executable:

pi@raspberrypi:~/Desktop/OctoFile $ sudo chmod +x OctoBot_linux_arm64 
pi@raspberrypi:~/Desktop/OctoFile $ ./OctoBot_linux_arm64 
Traceback (most recent call last):
  File "start.py", line 18, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 495, in exec_module
  File "octobot/cli.py", line 17, in <module>
ModuleNotFoundError: No module named 'packaging'
[9224] Failed to execute script 'start' due to unhandled exception!

Output when install "requirements.txt" for a cloned repository:

pi@raspberrypi:~/Desktop/Octobot/OctoBot $ python -m pip install -Ur requirements.txt
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting cython==0.29.32
  Using cached Cython-0.29.32-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (1.8 MB)
Collecting OctoBot-Commons==1.8.23
  Using cached OctoBot-Commons-1.8.23.tar.gz (117 kB)
  Preparing metadata (setup.py) ... done
Collecting OctoBot-Trading==2.3.35
  Using cached OctoBot-Trading-2.3.35.tar.gz (427 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [345 lines of output]
      Compiling octobot_trading/octobot_channel_consumer.py because it changed.
      Compiling octobot_trading/util/initializable.py because it changed.
      Compiling octobot_trading/util/config_util.py because it changed.
      Compiling octobot_trading/exchange_data/exchange_symbols_data.py because it changed.
      Compiling octobot_trading/exchange_data/exchange_symbol_data.py because it changed.
      Compiling octobot_trading/exchange_data/ticker/ticker_manager.py because it changed.
      Compiling octobot_trading/exchange_data/ticker/channel/ticker.py because it changed.
      Compiling octobot_trading/exchange_data/ticker/channel/ticker_updater.py because it changed.
      Compiling octobot_trading/exchange_data/ticker/channel/ticker_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/contracts/margin_contract.py because it changed.
      Compiling octobot_trading/exchange_data/contracts/future_contract.py because it changed.
      Compiling octobot_trading/exchange_data/order_book/order_book_manager.py because it changed.
      Compiling octobot_trading/exchange_data/order_book/channel/order_book.py because it changed.
      Compiling octobot_trading/exchange_data/order_book/channel/order_book_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/order_book/channel/order_book_updater.py because it changed.
      Compiling octobot_trading/exchange_data/funding/funding_manager.py because it changed.
      Compiling octobot_trading/exchange_data/funding/channel/funding.py because it changed.
      Compiling octobot_trading/exchange_data/funding/channel/funding_updater.py because it changed.
      Compiling octobot_trading/exchange_data/funding/channel/funding_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/kline/kline_manager.py because it changed.
      Compiling octobot_trading/exchange_data/kline/channel/kline.py because it changed.
      Compiling octobot_trading/exchange_data/kline/channel/kline_updater.py because it changed.
      Compiling octobot_trading/exchange_data/kline/channel/kline_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/recent_trades/recent_trades_manager.py because it changed.
      Compiling octobot_trading/exchange_data/recent_trades/channel/recent_trade.py because it changed.
      Compiling octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/recent_trades/channel/recent_trade_updater.py because it changed.
      Compiling octobot_trading/exchange_data/prices/price_events_manager.py because it changed.
      Compiling octobot_trading/exchange_data/prices/prices_manager.py because it changed.
      Compiling octobot_trading/exchange_data/prices/channel/price.py because it changed.
      Compiling octobot_trading/exchange_data/prices/channel/prices_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/prices/channel/prices_updater.py because it changed.
      Compiling octobot_trading/exchange_data/ohlcv/candles_manager.py because it changed.
      Compiling octobot_trading/exchange_data/ohlcv/preloaded_candles_manager.py because it changed.
      Compiling octobot_trading/exchange_data/ohlcv/candles_adapter.py because it changed.
      Compiling octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater.py because it changed.
      Compiling octobot_trading/exchange_data/ohlcv/channel/ohlcv_updater_simulator.py because it changed.
      Compiling octobot_trading/exchange_data/ohlcv/channel/ohlcv.py because it changed.
      Compiling octobot_trading/personal_data/exchange_personal_data.py because it changed.
      Compiling octobot_trading/personal_data/state.py because it changed.
      Compiling octobot_trading/personal_data/trades/trades_manager.py because it changed.
      Compiling octobot_trading/personal_data/trades/trade.py because it changed.
      Compiling octobot_trading/personal_data/trades/trade_factory.py because it changed.
      Compiling octobot_trading/personal_data/trades/channel/trades_updater.py because it changed.
      Compiling octobot_trading/personal_data/trades/channel/trades.py because it changed.
      Compiling octobot_trading/personal_data/orders/order.py because it changed.
      Compiling octobot_trading/personal_data/orders/order_adapter.py because it changed.
      Compiling octobot_trading/personal_data/orders/decimal_order_adapter.py because it changed.
      Compiling octobot_trading/personal_data/orders/orders_manager.py because it changed.
      Compiling octobot_trading/personal_data/orders/order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/order_group.py because it changed.
      Compiling octobot_trading/personal_data/orders/order_util.py because it changed.
      Compiling octobot_trading/personal_data/orders/order_factory.py because it changed.
      Compiling octobot_trading/personal_data/orders/groups/balanced_take_profit_and_stop_order_group.py because it changed.
      Compiling octobot_trading/personal_data/orders/groups/one_cancels_the_other_order_group.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/pending_creation_order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/pending_creation_chained_order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/fill_order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/cancel_order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/close_order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/order_state_factory.py because it changed.
      Compiling octobot_trading/personal_data/orders/states/open_order_state.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/unknown_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/unsupported_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/market/buy_market_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/market/market_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/market/sell_market_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/trailing/trailing_stop_limit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/trailing/trailing_stop_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/take_profit_limit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/stop_loss_limit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/limit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/sell_limit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/stop_loss_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/buy_limit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/types/limit/take_profit_order.py because it changed.
      Compiling octobot_trading/personal_data/orders/channel/orders_updater_simulator.py because it changed.
      Compiling octobot_trading/personal_data/orders/channel/orders.py because it changed.
      Compiling octobot_trading/personal_data/orders/channel/orders_updater.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/value_converter.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/portfolio_value_holder.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/portfolio_manager.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/sub_portfolio.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/portfolio.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/asset.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/portfolio_factory.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/portfolio_profitability.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/portfolio_util.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/assets/future_asset.py because it changed.
      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      #  Lesser General Public License for more details.
      #
      #  You should have received a copy of the GNU Lesser General Public
      #  License along with this library.
      cimport async_channel.channels as channels
             ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:17:8: 'async_channel/channels.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      #  Lesser General Public License for more details.
      #
      #  You should have received a copy of the GNU Lesser General Public
      #  License along with this library.
      cimport async_channel.channels as channels
      cimport async_channel.consumer as consumers
             ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:18:8: 'async_channel/consumer.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      #
      #  You should have received a copy of the GNU Lesser General Public
      #  License along with this library.
      cimport async_channel.channels as channels
      cimport async_channel.consumer as consumers
      cimport async_channel.producer as producers
             ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:19:8: 'async_channel/producer.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      #  License along with this library.
      cimport async_channel.channels as channels
      cimport async_channel.consumer as consumers
      cimport async_channel.producer as producers

      cdef class ExchangeChannel(channels.Channel):
                                        ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:21:35: First base of 'ExchangeChannel' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cpdef object get_filtered_consumers(self, str cryptocurrency=*, str symbol=*)

      cdef class TimeFrameExchangeChannel(ExchangeChannel):
          cpdef object get_filtered_consumers(self, str cryptocurrency=*, str symbol=*, str time_frame=*)

      cdef class ExchangeChannelConsumer(consumers.Consumer):
                                                 ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:33:44: First base of 'ExchangeChannelConsumer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cpdef object get_filtered_consumers(self, str cryptocurrency=*, str symbol=*, str time_frame=*)

      cdef class ExchangeChannelConsumer(consumers.Consumer):
          pass

      cdef class ExchangeChannelProducer(producers.Producer):
                                                 ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:36:44: First base of 'ExchangeChannelProducer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          pass

      cdef class ExchangeChannelProducer(producers.Producer):
          cpdef void trigger_single_update(self)

      cdef class ExchangeChannelInternalConsumer(consumers.InternalConsumer):
                                                         ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:39:52: First base of 'ExchangeChannelInternalConsumer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cpdef void trigger_single_update(self)

      cdef class ExchangeChannelInternalConsumer(consumers.InternalConsumer):
          pass

      cdef class ExchangeChannelSupervisedConsumer(consumers.SupervisedConsumer):
                                                           ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.pxd:42:54: First base of 'ExchangeChannelSupervisedConsumer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      import async_channel.producer as producers

      import octobot_commons.logging as logging

      class ExchangeChannelConsumer(consumers.Consumer):
                                            ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.py:30:39: First base of 'ExchangeChannelConsumer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          """
          Consumer adapted for ExchangeChannel
          """

      class ExchangeChannelInternalConsumer(consumers.InternalConsumer):
                                                    ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.py:36:47: First base of 'ExchangeChannelInternalConsumer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          """
          InternalConsumer adapted for ExchangeChannel
          """

      class ExchangeChannelSupervisedConsumer(consumers.SupervisedConsumer):
                                                      ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.py:42:49: First base of 'ExchangeChannelSupervisedConsumer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          """
          SupervisedConsumer adapted for ExchangeChannel
          """

      class ExchangeChannelProducer(producers.Producer):
                                            ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.py:48:39: First base of 'ExchangeChannelProducer' is not an extension type

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
                  ):
                      return False
              return True

      class ExchangeChannel(channels.Channel):
                                   ^
      ------------------------------------------------------------

      octobot_trading/exchange_channel.py:74:30: First base of 'ExchangeChannel' is not an extension type
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-zzp2_95e/octobot-trading_d915ada1507a4461b1cdadb23956752c/setup.py", line 237, in <module>
          ext_modules=cythonize(ext_modules, gdb_debug=CYTHON_DEBUG),
        File "/tmp/pip-install-zzp2_95e/octobot-trading_d915ada1507a4461b1cdadb23956752c/.eggs/Cython-0.29.34-py3.9-linux-aarch64.egg/Cython/Build/Dependencies.py", line 1115, in cythonize
          cythonize_one(*args)
        File "/tmp/pip-install-zzp2_95e/octobot-trading_d915ada1507a4461b1cdadb23956752c/.eggs/Cython-0.29.34-py3.9-linux-aarch64.egg/Cython/Build/Dependencies.py", line 1238, in cythonize_one
          raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: octobot_trading/exchange_channel.py

      Compiling octobot_trading/personal_data/portfolios/assets/margin_asset.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/assets/spot_asset.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/types/spot_portfolio.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/types/future_portfolio.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/types/margin_portfolio.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/channel/balance_updater.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/channel/balance_updater_simulator.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/channel/balance.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/history/historical_asset_value.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/history/historical_asset_value_factory.py because it changed.
      Compiling octobot_trading/personal_data/portfolios/history/historical_portfolio_value_manager.py because it changed.
      Compiling octobot_trading/personal_data/positions/position.py because it changed.
      Compiling octobot_trading/personal_data/positions/position_factory.py because it changed.
      Compiling octobot_trading/personal_data/positions/position_state.py because it changed.
      Compiling octobot_trading/personal_data/positions/position_util.py because it changed.
      Compiling octobot_trading/personal_data/positions/positions_manager.py because it changed.
      Compiling octobot_trading/personal_data/positions/channel/positions.py because it changed.
      Compiling octobot_trading/personal_data/positions/channel/positions_updater.py because it changed.
      Compiling octobot_trading/personal_data/positions/channel/positions_updater_simulator.py because it changed.
      Compiling octobot_trading/personal_data/positions/types/inverse_position.py because it changed.
      Compiling octobot_trading/personal_data/positions/types/linear_position.py because it changed.
      Compiling octobot_trading/personal_data/positions/states/liquidate_position_state.py because it changed.
      Compiling octobot_trading/personal_data/positions/states/idle_position_state.py because it changed.
      Compiling octobot_trading/personal_data/positions/states/active_position_state.py because it changed.
      Compiling octobot_trading/personal_data/positions/states/position_state_factory.py because it changed.
      Compiling octobot_trading/personal_data/transactions/transaction.py because it changed.
      Compiling octobot_trading/personal_data/transactions/transaction_factory.py because it changed.
      Compiling octobot_trading/personal_data/transactions/transactions_manager.py because it changed.
      Compiling octobot_trading/personal_data/transactions/types/blockchain_transaction.py because it changed.
      Compiling octobot_trading/personal_data/transactions/types/fee_transaction.py because it changed.
      Compiling octobot_trading/personal_data/transactions/types/realised_pnl_transaction.py because it changed.
      Compiling octobot_trading/personal_data/transactions/types/transfer_transaction.py because it changed.
      Compiling octobot_trading/modes/modes_factory.py because it changed.
      Compiling octobot_trading/modes/modes_util.py because it changed.
      Compiling octobot_trading/modes/channel/abstract_mode_producer.py because it changed.
      Compiling octobot_trading/modes/channel/mode.py because it changed.
      Compiling octobot_trading/modes/channel/abstract_mode_consumer.py because it changed.
      Compiling octobot_trading/exchanges/exchanges.py because it changed.
      Compiling octobot_trading/exchanges/exchange_manager.py because it changed.
      Compiling octobot_trading/exchanges/abstract_exchange.py because it changed.
      Compiling octobot_trading/exchanges/abstract_websocket_exchange.py because it changed.
      Compiling octobot_trading/exchanges/basic_exchange_wrapper.py because it changed.
      Compiling octobot_trading/exchanges/exchange_websocket_factory.py because it changed.
      Compiling octobot_trading/exchanges/config/exchange_config_data.py because it changed.
      Compiling octobot_trading/exchanges/config/backtesting_exchange_config.py because it changed.
      Compiling octobot_trading/exchanges/exchange_builder.py because it changed.
      Compiling octobot_trading/exchanges/exchange_channels.py because it changed.
      Compiling octobot_trading/exchanges/exchange_factory.py because it changed.
      Compiling octobot_trading/exchanges/connectors/ccxt/ccxt_client_util.py because it changed.
      Compiling octobot_trading/exchanges/connectors/ccxt/ccxt_connector.py because it changed.
      Compiling octobot_trading/exchanges/connectors/ccxt/ccxt_websocket_connector.py because it changed.
      Compiling octobot_trading/exchanges/connectors/simulator/exchange_simulator_connector.py because it changed.
      Compiling octobot_trading/exchanges/traders/trader.py because it changed.
      Compiling octobot_trading/exchanges/traders/trader_simulator.py because it changed.
      Compiling octobot_trading/exchanges/util/exchange_market_status_fixer.py because it changed.
      Compiling octobot_trading/exchanges/util/websockets_util.py because it changed.
      Compiling octobot_trading/exchanges/util/exchange_util.py because it changed.
      Compiling octobot_trading/exchanges/types/rest_exchange.py because it changed.
      Compiling octobot_trading/exchanges/types/websocket_exchange.py because it changed.
      Compiling octobot_trading/exchanges/implementations/default_websocket_exchange.py because it changed.
      Compiling octobot_trading/exchanges/implementations/default_rest_exchange.py because it changed.
      Compiling octobot_trading/exchanges/implementations/exchange_simulator.py because it changed.
      Compiling octobot_trading/exchange_channel.py because it changed.
      [  1/152] Cythonizing octobot_trading/exchange_channel.py
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Output from pip install Octobot:

pi@raspberrypi:~/Desktop/OctoFile $ pip install Octobot
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting Octobot
  Using cached OctoBot-0.4.46.tar.gz (8.9 MB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [104 lines of output]

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
      #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      #  Lesser General Public License for more details.
      #
      #  You should have received a copy of the GNU Lesser General Public
      #  License along with this library.
      cimport octobot_backtesting.backtest_data as backtest_data
             ^
      ------------------------------------------------------------

      octobot/backtesting/octobot_backtesting.pxd:17:8: 'octobot_backtesting/backtest_data.pxd' not found

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef public dict symbols_to_create_exchange_classes
          cdef public list evaluators
          cdef public list service_feeds
          cdef public dict fees_config
          cdef public list backtesting_files
          cdef public backtest_data.BacktestData backtesting_data
                     ^
      ------------------------------------------------------------

      octobot/backtesting/octobot_backtesting.pxd:34:16: 'BacktestData' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef public dict symbols_to_create_exchange_classes
          cdef public list evaluators
          cdef public list service_feeds
          cdef public dict fees_config
          cdef public list backtesting_files
          cdef public backtest_data.BacktestData backtesting_data
                                                ^
      ------------------------------------------------------------

      octobot/backtesting/octobot_backtesting.pxd:34:43: C attribute of type '<error>' cannot be accessed from Python

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef public object previous_log_level
          cdef public object previous_handlers_log_level
          cdef public object stopped_event
          cdef public bint enforce_total_databases_max_size_after_run

          cdef public backtest_data.BacktestData backtesting_data
                     ^
      ------------------------------------------------------------

      octobot/backtesting/independent_backtesting.pxd:50:16: 'BacktestData' is not a type identifier

      Error compiling Cython file:
      ------------------------------------------------------------
      ...
          cdef public object previous_log_level
          cdef public object previous_handlers_log_level
          cdef public object stopped_event
          cdef public bint enforce_total_databases_max_size_after_run

          cdef public backtest_data.BacktestData backtesting_data
                                                ^
      ------------------------------------------------------------

      octobot/backtesting/independent_backtesting.pxd:50:43: C attribute of type '<error>' cannot be accessed from Python
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-md7pn2gh/octobot_119ce0d8660c4f84a3026a2c8f106153/setup.py", line 104, in <module>
          ext_modules=cythonize(ext_modules, gdb_debug=CYTHON_DEBUG),
        File "/tmp/pip-install-md7pn2gh/octobot_119ce0d8660c4f84a3026a2c8f106153/.eggs/Cython-0.29.32-py3.9-linux-aarch64.egg/Cython/Build/Dependencies.py", line 1127, in cythonize
          cythonize_one(*args)
        File "/tmp/pip-install-md7pn2gh/octobot_119ce0d8660c4f84a3026a2c8f106153/.eggs/Cython-0.29.32-py3.9-linux-aarch64.egg/Cython/Build/Dependencies.py", line 1250, in cythonize_one
          raise CompileError(None, pyx_file)
      Cython.Compiler.Errors.CompileError: octobot/backtesting/independent_backtesting.py
      Compiling octobot/configuration_manager.py because it changed.
      Compiling octobot/octobot_backtesting_factory.py because it changed.
      Compiling octobot/octobot_api.py because it changed.
      Compiling octobot/task_manager.py because it changed.
      Compiling octobot/octobot_channel_consumer.py because it changed.
      Compiling octobot/initializer.py because it changed.
      Compiling octobot/octobot.py because it changed.
      Compiling octobot/backtesting/independent_backtesting.py because it changed.
      Compiling octobot/backtesting/abstract_backtesting_test.py because it changed.
      Compiling octobot/backtesting/octobot_backtesting.py because it changed.
      Compiling octobot/channels/octobot_channel.py because it changed.
      Compiling octobot/strategy_optimizer/strategy_test_suite.py because it changed.
      Compiling octobot/strategy_optimizer/test_suite_result.py because it changed.
      Compiling octobot/strategy_optimizer/strategy_optimizer.py because it changed.
      Compiling octobot/producers/interface_producer.py because it changed.
      Compiling octobot/producers/service_feed_producer.py because it changed.
      Compiling octobot/producers/evaluator_producer.py because it changed.
      Compiling octobot/producers/exchange_producer.py because it changed.
      Compiling octobot/updater/binary_updater.py because it changed.
      Compiling octobot/updater/python_updater.py because it changed.
      Compiling octobot/updater/updater.py because it changed.
      Compiling octobot/updater/updater_factory.py because it changed.
      [ 1/22] Cythonizing octobot/backtesting/abstract_backtesting_test.py
      [ 2/22] Cythonizing octobot/backtesting/independent_backtesting.py
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

I have a Raspberry Pi 4 8Gb. I didn’t touch this little kid for a couple of years, but then I met this project on the open spaces of GitHub and decided that this was definitely a chance for him. I installed the latest OS for it and tried to run it in the ways described. Can you help me with this? I would be very grateful to you for this. A google search turned up no results.

Herklos commented 1 year ago

Hi @PieceOfGood, It's weird, pip install should work on Raspberry arm64... Can you try the docker installation method https://www.octobot.info/installation/with-docker please?

PieceOfGood commented 1 year ago

It works. Thank you very much!