簡體   English   中英

導入 IbPy2 和 backtrader 的正確方法是什么?

[英]What is the right way to import IbPy2 and backtrader?

嗨,我在導入 backtrader 和 IbPy2 時遇到問題。 當我安裝 pip 並且當我在我的 python shell 中運行import backtrader時,我收到以下錯誤:

我 pip 安裝了這些:

pip 安裝https://github.com/blampe/IbPy/archive/master.zip

pip 安裝反向交易者

我遇到的錯誤:

Traceback (most recent call last):

  File ~/opt/anaconda3/lib/python3.9/site-packages/IPython/core/interactiveshell.py:3369 in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)

  Input In [3] in <cell line: 1>
    import backtrader as bt

  File ~/opt/anaconda3/lib/python3.9/site-packages/backtrader/__init__.py:62 in <module>
    from .cerebro import *

  File ~/opt/anaconda3/lib/python3.9/site-packages/backtrader/cerebro.py:35 in <module>
    from .brokers import BackBroker

  File ~/opt/anaconda3/lib/python3.9/site-packages/backtrader/brokers/__init__.py:30 in <module>
    from .ibbroker import IBBroker

  File ~/opt/anaconda3/lib/python3.9/site-packages/backtrader/brokers/ibbroker.py:30 in <module>
    import ib.ext.Order

  File ~/opt/anaconda3/lib/python3.9/site-packages/ib/ext/Order.py:9 in <module>
    from ib.lib import Double, Integer

  File ~/opt/anaconda3/lib/python3.9/site-packages/ib/lib/__init__.py:239
    except (socket.error, ), ex:
                           ^
SyntaxError: invalid syntax

我的機器的規格是:

  • MacBook Air M1
  • jupyterlabs
  • anaconda

我想我幾乎把問題縮小到了 IbPy2 的錯。 每當我在沒有安裝 IbPy2 的情況下導入 backtrader 時,它都可以正常工作。 但是一旦使用上面的 pip 命令安裝了 IbPy2,我就會遇到這個錯誤。

任何幫助都將不勝感激,這會讓我的一周都被困了好幾天! 先感謝您!

pip install wheel

解釋:

  • 錯誤是什么:這是一個 python2 語法錯誤,因為它在不同版本的 python 上運行。 請閱讀此答案以了解詳細信息。 Python 2 和 Python 3。

  • 為什么會發生:因為沒有安裝wheel ,尤其是當您使用pipenv創建虛擬環境時。 Pipenv 或 pip 安裝不帶wheelIbPy2 ,消息如下: Using legacy 'setup.py install' for IbPy2, since package 'wheel' is not installed. 然后它被識別為用Python2編寫的代碼。

  • 解決方法:先裝wheel ,用pip install wheel 然后使用 pip install IbPy2 pip install IbPy2 ,然后它將被正確安裝並識別為 Python3 代碼。 所以你不會再看到 Python2 語法錯誤了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM