![](/img/trans.png)
[英]What is the correct way to define MQL4 “#import of static class methods”?
[英]What is the right way to import IbPy2 and backtrader?
嗨,我在導入 backtrader 和 IbPy2 時遇到問題。 當我安裝 pip 並且當我在我的 python shell 中運行import backtrader時,我收到以下錯誤:
我 pip 安裝了這些:
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
我的機器的規格是:
我想我幾乎把問題縮小到了 IbPy2 的錯。 每當我在沒有安裝 IbPy2 的情況下導入 backtrader 時,它都可以正常工作。 但是一旦使用上面的 pip 命令安裝了 IbPy2,我就會遇到這個錯誤。
任何幫助都將不勝感激,這會讓我的一周都被困了好幾天! 先感謝您!
pip install wheel
解釋:
錯誤是什么:這是一個 python2 語法錯誤,因為它在不同版本的 python 上運行。 請閱讀此答案以了解詳細信息。 Python 2 和 Python 3。
為什么會發生:因為沒有安裝wheel
,尤其是當您使用pipenv
創建虛擬環境時。 Pipenv 或 pip 安裝不帶wheel
的IbPy2
,消息如下: 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.