我继承了一些在与我不同的环境中构建的代码。
但是,我知道我有所有的脚本需要这个正常运行。我假设我的环境设置有问题。
[user@localhost mktdata.out]$ /usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
ModuleNotFoundError: No module named 'merlin.tradelogic'
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
/usr/local/lib/python3.6/site-packages/deap/tools/_hypervolume/pyhv.py:33: ImportWarning: Falling back to the python version of hypervolume module. Expect this to be very slow.
"module. Expect this to be very slow.", ImportWarning)
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
除非发现
hypervolume/pyhv.py:33: ImportWarning:
Traceback (most recent call last):
File "strats/merlin.py", line 13, in <module>
File "strats/merlin/tradeopt.py", line 11, in <module>
ModuleNotFoundError: No module named 'merlin.tradelogic'
merlin.py的开头如下所示:
#!/usr/bin/env python3
import argparse
import logging
import sys
from datetime import datetime
from merlin.cmdopt import (
add_basic_opts,add_roll_opts,add_inst_opts,add_pair_opts,
add_job_opts,add_list_of_opts
)
from merlin.mktdata import mktdataMain
from merlin.instrument import instrumentMain
from merlin.pair import pairMain
from merlin.tradeopt import tradeoptMain
from merlin.wrtconfig import wrtconfigMain
from merlin.portfolio import portfolioMain
from merlin.overview import overviewMain
from merlin.var import *
from dao.utils.functools import apply_func_seq
从merlin.py调用的tradeopt的开头如下所示:
import logging
import os.path
import lzma
import pandas as pd
import numpy as np
import array
import copy
from deap import base,creator,tools
from merlin.var import *
from merlin.stratconfig import MerlinConfig
from merlin.tradelogic import MerlinLogicPy
from merlin.utils import (
merge_paths,jobs_todo,sort_dict_by_roll,joblist_to_dict
)
from merlin.tradega import (
trade_pars,SimSettings,is_valid_pars,evaluate_c,pnl_field_num,
idx_total_pnl_pos_cost,cx_pars,mu_pars,idx_s1_trade
)
from dao.iotools.datamodel import *
from dao.fin.stats import sharpe
from dao.fin.algorithms import eaMuPlusLambda
from dao.pair.pairid import PAIR_ID,split_pair2insts
from dao.pair.spread import __pairSpread__
from dao.utils.rw import (
setup_dir,pickle_dump,pickle_load,find_folders,find_files
)
from dao.utils.roll import ROLL_ID
logger=logging.getLogger(MERLIN_MAIN_LOGGER)
def tradeoptMain(args):
merlin.tradelogic
但是当我看这个位置的时候
/home/user/merlin/bin/strats/merlin
我可以看到几个不同的
tradelogic
他们是:
tradelogic.cpp
tradelogic.cpython-35m-darwin.so
tradelogic.pxd
tradelogic.pyx
中的第13行
/home/user/merlin/bin/strats/merlin.py
看起来像:
from merlin.tradeopt import tradeoptMain
第11行输入
/home/user/merlin/bin/strats/merlin/tradeopt.py
看起来像:
from merlin.tradelogic import MerlinLogicPy
贸易逻辑
MerlinLogicPy
tradelogic.pyx
哪个在下面
cimport cython
from cython.view cimport array as cvarray
import numpy as np
cimport numpy as np
cdef class MerlinLogicPy:
def __cinit__(self,double entry,double exit,double stop_entry,
double stop_loss,double norm_pos,unsigned int time_loss,
bint ignore_reporting_corp)
self.thisptr=new MerlinLogic(entry,exit,stop_entry,stop_loss,
norm_pos,time_loss,ignore_reporting_corp)
我的
$PATH
看起来像:
[user@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/user/scoleman/bin:/home/scoleman/bin:/home/user/.local/bin:/home/user/bin:/home/user/condor/bin:/home/user/scoleman/bin:/home/scoleman/bin:/home/user/condor/bin:/home/user/merlin/bin
/home/user/merlin/bin
)包含所有代码。
我也有
Cython
版本
0.29.5
贸易逻辑.pyx
? 如果是的话,有人能告诉我我是怎么做到的吗。
我还看到我在运行Python3(
#!/usr/bin/env python3
tradelogic.cpython-35m-darwin.so
文件看起来是使用3.5版编写的,这可能是/a问题吗?如何编译.so文件?