nateemma / strategies

Custom trading strategies using the freqtrade framework
329 stars 88 forks source link

Could not import "No module named" error #48

Closed BlinkyExec closed 7 months ago

BlinkyExec commented 7 months ago

Hi, I'm trying to backtest any of the strategies but get this error:

2024-02-23 09:54:47,314 - freqtrade.exchange.exchange - INFO - Using Exchange "Bybit" 2024-02-23 09:54:56,503 - freqtrade.exchange.exchange - INFO - Using cached leverage_tiers.
2024-02-23 09:54:56,503 - freqtrade.exchange.exchange - INFO - Done initializing 316 markets. 2024-02-23 09:54:56,515 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Bybit'... 2024-02-23 09:54:56,573 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,633 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,656 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,728 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,767 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,815 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,856 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,913 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,967 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,994 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,046 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,095 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,144 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,195 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,253 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,312 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,366 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,423 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,460 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,511 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,577 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,616 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,677 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,739 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,801 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,848 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,888 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,939 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,979 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:59,596 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWT.py due to 'No module named 'xgboost'' 2024-02-23 09:54:59,678 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWTA.py due to 'No module named 'xgboost'' 2024-02-23 09:54:59,772 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWTA_min.py due to 'No module named 'pywt'' 2024-02-23 09:54:59,838 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWTA_roll.py due to 'No module named 'xgboost'' 2024-02-23 09:54:59,915 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFT.py due to 'No module named 'pywt'' 2024-02-23 09:54:59,999 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFT2.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,084 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFTA.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,150 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFTA_roll.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,219 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FHT.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,286 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_MODWT.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,354 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_roll.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,463 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_SWT.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,545 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_WPT.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,570 - freqtrade - ERROR - Impossible to load Strategy 'TS_Simple'. This class does not exist or contains Python code errors.

It runs normally until a list of 'could not imports' for each file in the TSPredict folder, and 'No module named ___' with each line. I have the packages installed and when looking at the files referenced in the 'Could not import' I saw that these modules aren't in use.

Does anybody have an idea of how this could be fixed?

nateemma commented 7 months ago

How are you running the strategy? If you are not using user_data/steategies/scripts/test_strat.py then you need to make sure that the directory for the strategy is in the python path variable

Cheers,

Phil

On Fri, Feb 23, 2024 at 2:00 AM BlinkyExec @.***> wrote:

Hi, I'm trying to backtest any of the strategies but get this error:

2024-02-23 09:54:47,314 - freqtrade.exchange.exchange - INFO - Using Exchange "Bybit" 2024-02-23 09:54:56,503 - freqtrade.exchange.exchange - INFO - Using cached leverage_tiers. 2024-02-23 09:54:56,503 - freqtrade.exchange.exchange - INFO - Done initializing 316 markets. 2024-02-23 09:54:56,515 - freqtrade.resolvers.exchange_resolver - INFO - Using resolved exchange 'Bybit'... 2024-02-23 09:54:56,573 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,633 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,656 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,728 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,767 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,815 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,856 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,913 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,967 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:56,994 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,046 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,095 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,144 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,195 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,253 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,312 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,366 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,423 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,460 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,511 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,577 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,616 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,677 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,739 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,801 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,848 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,888 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,939 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:57,979 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict 2024-02-23 09:54:59,596 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWT.py due to 'No module named 'xgboost'' 2024-02-23 09:54:59,678 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWTA.py due to 'No module named 'xgboost'' 2024-02-23 09:54:59,772 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWTA_min.py due to 'No module named 'pywt'' 2024-02-23 09:54:59,838 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_DWTA_roll.py due to 'No module named 'xgboost'' 2024-02-23 09:54:59,915 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFT.py due to 'No module named 'pywt'' 2024-02-23 09:54:59,999 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFT2.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,084 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFTA.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,150 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FFTA_roll.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,219 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_FHT.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,286 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_MODWT.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,354 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_roll.py due to 'No module named 'xgboost'' 2024-02-23 09:55:00,463 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_SWT.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,545 - freqtrade.resolvers.iresolver - WARNING - Could not import /freqtrade/user_data/strategies/TSPredict/TS_Wavelet_WPT.py due to 'No module named 'pywt'' 2024-02-23 09:55:00,570 - freqtrade - ERROR - Impossible to load Strategy 'TS_Simple'. This class does not exist or contains Python code errors.

I have the packages installed and when looking at the files referenced in the 'Could not import' I saw that these modules aren't in use.

Does anybody have an idea of how this could be fixed?

— Reply to this email directly, view it on GitHub https://github.com/nateemma/strategies/issues/48, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABD4X54X5OULAI73ZA2QCULYVBSCRAVCNFSM6AAAAABDWN4F2WVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE2TANZVGI3DQOI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

BlinkyExec commented 7 months ago

Thanks for the quick response!

The solution was actually to create a local freqtrade image with the added dependencies of the "missing" modules. Using a Dockerfile similar to this:

FROM freqtradeorg/freqtrade:develop USER ftuser RUN pip install --user xgboost RUN pip install --user statsmodels RUN pip install --user PyWavelets RUN pip install --user finta RUN pip install --user utils RUN pip install --user lightgbm