wardbradt / peregrine

Detects arbitrage opportunities across 131 cryptocurrency exchanges in 50 countries
MIT License
1.19k stars 338 forks source link

Error on installation #20

Closed Edulongo7 closed 6 years ago

Edulongo7 commented 6 years ago

Got an error when tried to install peregrine use the following command:

pip install git+https://github.com/wardbradt/peregrine.git

_Collecting git+https://github.com/wardbradt/peregrine.git Cloning https://github.com/wardbradt/peregrine.git to c:\users\eduardo\appdata\local\temp\pip-riqw15ab-build Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in File "c:\users\eduardo\anaconda3update\lib\tokenize.py", line 452, in open buffer = _builtin_open(filename, 'rb') FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\Eduardo\AppData\Local\Temp\pip-riqw15ab-build\setup.py'

----------------------------------------

Command "python setup.py egginfo" failed with error code 1 in C:\Users\Eduardo\AppData\Local\Temp\pip-riqw15ab-build\

wardbradt commented 6 years ago

The library is not packaged for pip installations. (This has been in the Readme's "To Do" for a while.) It would be relatively easy to implement. I can do it later today. (Would be great if you or someone else could do it however.)

Edulongo7 commented 6 years ago

I'm sorry not been able to figure out I couldn't do the installation using pip, I am a beginner in programming and unfortunately have no idea how to package pips. If you or someone else could do it, would be great! Thanks

Em 28 de mar de 2018, às 20:01, Ward Bradt notifications@github.com escreveu:

The library is not packaged for pip installations. (This has been in the Readme's "To Do" for a while.) It would be relatively easy to implement. I can do it later today. (Would be great if you or someone else could do it however.)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

wardbradt commented 6 years ago

Look at the installation section in README.md.

Edulongo7 commented 6 years ago

Many thanks for updating the peregrine installation to use pip.

I did:

pip install peregrinearb"

and run, as the provided example:

from peregrinearb import get_opportunity_for_market import asyncio opportunity = asyncio.get_event_loop().run_until_complete(get_opportunity_for_market("BTC/USD")) print(opportunity)

got this answer:

Traceback (most recent call last):

File "", line 1, in from peregrinearb import get_opportunity_for_market

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb__init__.py", line 4, in from .bellman_multi_graph import bellman_ford_multi, NegativeWeightFinderMulti

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellman_multi_graph.py", line 2, in from .bellmannx import NegativeWeightFinder, SeenNodeError

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellmannx.py", line 3, in from utils import last_index_in_list, PrioritySet, next_to_each_other

ModuleNotFoundError: No module named 'utils'

I installed the utils module, using:

pip install utils

And run the same code above, but got:

Traceback (most recent call last):

File "", line 1, in from peregrinearb import get_opportunity_for_market

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb__init__.py", line 4, in from .bellman_multi_graph import bellman_ford_multi, NegativeWeightFinderMulti

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellman_multi_graph.py", line 2, in from .bellmannx import NegativeWeightFinder, SeenNodeError

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellmannx.py", line 3, in from utils import last_index_in_list, PrioritySet, next_to_each_other

ImportError: cannot import name 'last_index_in_list'

Am i doing something wrong? Thank again.

wardbradt commented 6 years ago

Hi, Thanks! This was actually a very important (and thankfully simple) bug. For some reason, the relative imports got all screwed up. It is fixed now. Please try reinstalling/ upgrading and let me know if you have more problems.

On Fri, Mar 30, 2018 at 7:13 PM, Edulongo7 notifications@github.com wrote:

Many thanks for updating the peregrine installation to use pip.

I did:

pip install peregrinearb"

and run, as the provided example:

from peregrinearb import get_opportunity_for_market import asyncio opportunity = asyncio.get_event_loop().run_untilcomplete(get opportunity_for_market("BTC/USD")) print(opportunity)

got this answer:

Traceback (most recent call last):

File "", line 1, in from peregrinearb import get_opportunity_for_market

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb init.py", line 4, in from .bellman_multi_graph import bellman_ford_multi, NegativeWeightFinderMulti

File "C:\Users\Eduardo\Anaconda3update\lib\site- packages\peregrinearb\bellman_multi_graph.py", line 2, in from .bellmannx import NegativeWeightFinder, SeenNodeError

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellmannx.py", line 3, in from utils import last_index_in_list, PrioritySet, next_to_each_other

ModuleNotFoundError: No module named 'utils'

I installed the utils module, using:

pip install utils

And run the same code above, but got:

Traceback (most recent call last):

File "", line 1, in from peregrinearb import get_opportunity_for_market

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb init.py", line 4, in from .bellman_multi_graph import bellman_ford_multi, NegativeWeightFinderMulti

File "C:\Users\Eduardo\Anaconda3update\lib\site- packages\peregrinearb\bellman_multi_graph.py", line 2, in from .bellmannx import NegativeWeightFinder, SeenNodeError

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellmannx.py", line 3, in from utils import last_index_in_list, PrioritySet, next_to_each_other

ImportError: cannot import name 'last_index_in_list'

Am i doing something wrong? Thank again.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/wardbradt/peregrine/issues/20#issuecomment-377643508, or mute the thread https://github.com/notifications/unsubscribe-auth/AZWm3UFn7ieLbYjfY1adYAkDDTWWMO_Yks5tjrwFgaJpZM4S9unQ .

Edulongo7 commented 6 years ago

Hi Ward,

Thanks for fixing this!

I tried to run the examples you provide and the 1st code below, worked smoothly, but from 2nd to the last, I got some errors:

This one worked!!

import asyncio from peregrinearb import load_exchange_graph, print_profit_opportunity_for_path, bellman_ford graph = asyncio.get_event_loop().run_until_complete(load_exchange_graph('binance'))

paths = bellman_ford(graph, 'BTC') for path in paths:     print_profit_opportunity_for_path(graph, path)

Best, Eduardo

from peregrinearb import create_weighted_multi_exchange_digraph, bellman_ford_multi, print_profit_opportunity_for_path_multi

graph = create_weighted_multi_exchange_digraph(['kraken', 'bittrex', 'gemini'], log=True) graph, paths = bellman_ford_multi(graph, 'ETH') for path in paths:     print_profit_opportunity_for_path_multi(graph, path)      Traceback (most recent call last):

  File "", line 4, in     graph = create_weighted_multi_exchange_digraph(['kraken', 'bittrex', 'gemini'], log=True)

  File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\utils\multi_exchange.py", line 75, in create_weighted_multi_exchange_digraph     loop.run_until_complete(asyncio.gather(*futures))

  File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 467, in run_until_complete     return future.result()

  File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\utils\multi_exchange.py", line 83, in _add_exchange_to_multi_digraph     await exchange['object'].close()

AttributeError: 'gemini' object has no attribute 'close'


from peregrinearb import create_weighted_multi_exchange_digraph, bellman_ford_multi, print_profit_opportunity_for_path_multi

graph = create_weighted_multi_exchange_digraph(['exmo', 'binance', 'bitmex', 'bittrex', 'gemini', 'kraken'], log=True)

graph, paths = bellman_ford_multi(graph, 'ETH', unique_paths=True) for path in paths:     # total = calculate_profit_ratio_for_path(graph, path)     # print(path)     print_profit_opportunity_for_path_multi(graph, path)

Exception ignored in: <bound method Exchange.del of <ccxt.async.bittrex.bittrex object at 0x000001EFFBA40668>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.gemini.gemini object at 0x000001EFFBA42B00>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFBA40AC8> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFBA42A90> Exception ignored in: <bound method Exchange.del of <ccxt.async.kraken.kraken object at 0x000001EFFE4E6D30>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE4E60F0> Traceback (most recent call last):

  File "", line 4, in     graph = create_weighted_multi_exchange_digraph(['exmo', 'binance', 'bitmex', 'bittrex', 'gemini', 'kraken'], log=True)

  File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\utils\multi_exchange.py", line 75, in create_weighted_multi_exchange_digraph     loop.run_until_complete(asyncio.gather(*futures))

  File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 467, in run_until_complete     return future.result()

  File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\utils\multi_exchange.py", line 83, in _add_exchange_to_multi_digraph     await exchange['object'].close()

AttributeError: 'gemini' object has no attribute 'close'


import pyximport pyximport.install() from cythonperegrine import build_specific_collections as cython_build from cythonperegrine import OpportunityFinder as cython_finder from peregrinearb import build_specific_collections as python_build from peregrinearb import OpportunityFinder as python_finder from examples.calculate_time import calculate_time

def test_cython():     us_eth_btc_exchanges = cython_build({'countries': 'US'}, False, False)     finder = cython_finder("ETH/BTC", us_eth_btc_exchanges["ETH/BTC"])     finder.find_min_max()

def test_python():     us_eth_btc_exchanges = python_build({'countries': 'US'})     finder = python_finder("ETH/BTC", us_eth_btc_exchanges["ETH/BTC"])     finder.find_min_max()

print("Cython speed: " + str(calculate_time(test_cython))) print("Python speed: " + str(calculate_time(test_python)))

Traceback (most recent call last):

  File "", line 8, in     from examples.calculate_time import calculate_time

ModuleNotFoundError: No module named 'examples.calculate_time'


This code is modified from examples/test_build_collections.py

from peregrinearb.async_build_markets import build_specific_collections

This is a dict of the collections only containing exchanges which have the fetch_order_book, create_market_buy_order,

create_market_sell_order, create_limit_buy_order, and create_limit_sell_order functions.

specific_collections = build_specific_collections(has={'fetchOrderBook': True, 'createOrder': True})

Exception ignored in: <bound method Exchange.del of <ccxt.async.bibox.bibox object at 0x000001EF83377DD8>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF83610668> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFE78240>, 376432.062)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF83610A90> Exception ignored in: <bound method Exchange.del of <ccxt.async.bitfinex.bitfinex object at 0x000001EFFBC71550>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE791748> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF836B10B8>, 376431.234)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFE791B38> Exception ignored in: <bound method Exchange.del of <ccxt.async.bithumb.bithumb object at 0x000001EFFB45B240>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.bitlish.bitlish object at 0x000001EFFB45B320>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFFE785F8> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFBD34BE0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFC44EF0>, 376433.046)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFFE784A8> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF8322A240>, 376432.562)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFBD34BA8> Exception ignored in: <bound method Exchange.del of <ccxt.async.bitmex.bitmex object at 0x000001EFFB45B2E8>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF836E59E8> Exception ignored in: <bound method Exchange.del of <ccxt.async.bitso.bitso object at 0x000001EFFB45BEF0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.bitstamp.bitstamp object at 0x000001EFFB45B710>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB675278> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB46CE10> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFE90860>, 376432.453)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB46CB00> Exception ignored in: <bound method Exchange.del of <ccxt.async.bittrex.bittrex object at 0x000001EFFB45BF28>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB751080> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFD75128>, 376432.375)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF831F3128> Exception ignored in: <bound method Exchange.del of <ccxt.async.bleutrade.bleutrade object at 0x000001EFFB45B8D0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFC125C50> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE7A25C0>, 376432.906)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFC125358> Exception ignored in: <bound method Exchange.del of <ccxt.async.btcturk.btcturk object at 0x000001EFFFE81F98>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF8317E438> Exception ignored in: <bound method Exchange.del of <ccxt.async.allcoin.allcoin object at 0x000001EF83377F60>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.binance.binance object at 0x000001EF83377A58>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF832231D0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF8332D4A8>, 376431.546)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF832230F0> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFFF29F28> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB46CA58>, 376431.921)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFFF29A90> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB46CB38>, 376432.781)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF836E53C8> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF83694898>, 376432.765)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB247CC0> Exception ignored in: <bound method Exchange.del of <ccxt.async.braziliex.braziliex object at 0x000001EFFB45B470>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB920668> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB8786D8>, 376432.906)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB920390> Exception ignored in: <bound method Exchange.del of <ccxt.async.bxinth.bxinth object at 0x000001EFFFE81B00>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFFEC6E48> Exception ignored in: <bound method Exchange.del of <ccxt.async.bitflyer.bitflyer object at 0x000001EFFBC71BE0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.bitz.bitz object at 0x000001EFFB45B860>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFFD75860> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFC125EB8>, 376435.359)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFFD75940> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF836D0518> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFC44D68>, 376434.093)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF836D0DA0> Exception ignored in: <bound method Exchange.del of <ccxt.async.ccex.ccex object at 0x000001EFFFE81EF0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.cex.cex object at 0x000001EFFFE81A58>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFC12AE80> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFC0F9780> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF8363BCC0>, 376434.671)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFC12ABA8> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE6A27F0>, 376435.359)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFC0F9320> Exception ignored in: <bound method Exchange.del of <ccxt.async.cobinhood.cobinhood object at 0x000001EFFFE81BA8>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.coinexchange.coinexchange object at 0x000001EFFFE81BE0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB2A85C0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB2A8940>, 376435.375)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB2A8400> Exception ignored in: <bound method Exchange.del of <ccxt.async.coingi.coingi object at 0x000001EFFFE8DDA0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.coinmarketcap.coinmarketcap object at 0x000001EFFFE8D438>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF8318B160> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF8318B828> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF8318B748>, 376435.359)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB2A8FD0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF8318BE48>, 376434.703)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF8318B7F0> Exception ignored in: <bound method Exchange.del of <ccxt.async.cryptopia.cryptopia object at 0x000001EFFFE8D240>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF831F85C0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFC2FB00>, 376437.437)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF831F84E0> Exception ignored in: <bound method Exchange.del of <ccxt.async.exmo.exmo object at 0x000001EFFFE8D978>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFFC2FCC0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFC2784A8>, 376436.171)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFFC2FC18> Exception ignored in: <bound method Exchange.del of <ccxt.async.gdax.gdax object at 0x000001EFFFE8D320>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE8CBBA8> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE8B6780>, 376436.406)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFE8CBB38> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE8B4C88> Exception ignored in: <bound method Exchange.del of <ccxt.async.dsx.dsx object at 0x000001EFFFE8DCF8>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFFC2F160> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFFC2FBA8>, 376436.109)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFFC2F0F0> Exception ignored in: <bound method Exchange.del of <ccxt.async.gatecoin.gatecoin object at 0x000001EFFFE8D470>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Exception ignored in: <bound method Exchange.del of <ccxt.async.gateio.gateio object at 0x000001EFFFE8D9E8>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB504DA0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE8CB048>, 376436.921)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB504E10> Exception ignored in: <bound method Exchange.del of <ccxt.async.gemini.gemini object at 0x000001EFFFE8DEB8>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE8CB160> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE8CBA20>, 376436.89)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFE8CB080> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE7A8AC8>, 376434.093)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFC116940> Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE8B6908> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFE84D160>, 376436.375)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFE8B6898> Exception ignored in: <bound method Exchange.del of <ccxt.async.hitbtc2.hitbtc2 object at 0x000001EFFFE8D8D0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF835FA518> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF8361F3C8>, 376438.328)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF835FA4E0> Exception ignored in: <bound method Exchange.del of <ccxt.async.independentreserve.independentreserve object at 0x000001EFFFE8DF98>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF83467550> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF83467EB8>, 376438.484)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF834674E0> Exception ignored in: <bound method Exchange.del of <ccxt.async.liqui.liqui object at 0x000001EFFFE8DB00>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB5D7320> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB5D7A58>, 376438.484)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB5D72E8> Exception ignored in: <bound method Exchange.del of <ccxt.async.luno.luno object at 0x000001EFFFE8D400>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFB5E58D0> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB5C7320>, 376438.671)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFB5E57B8> Exception ignored in: <bound method Exchange.del of <ccxt.async.huobipro.huobipro object at 0x000001EFFFE8D7F0>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EF8346C978> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF83467390>, 376437.796)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EF8346C908> Exception ignored in: <bound method Exchange.del of <ccxt.async.lakebtc.lakebtc object at 0x000001EFFFE8D748>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFC162BA8> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EFFB5D7208>, 376438.14)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFC162B70> Exception ignored in: <bound method Exchange.del of <ccxt.async.hitbtc.hitbtc object at 0x000001EFFFE8DB38>> Traceback (most recent call last):   File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\ccxt\async\base\exchange.py", line 64, in del     self.asyncio_loop.run_until_complete(self.session.close())   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 454, in run_until_complete     self.run_forever()   File "C:\Users\Eduardo\Anaconda3update\lib\asyncio\base_events.py", line 408, in run_forever     raise RuntimeError('This event loop is already running') RuntimeError: This event loop is already running Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x000001EFFE84D400> Unclosed connector connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x000001EF835FA3C8>, 376437.031)]'] connector: <aiohttp.connector.TCPConnector object at 0x000001EFFE84D748>

On Mar 30, 2018, at 08:53 PM, Ward Bradt notifications@github.com wrote:

Hi, Thanks! This was actually a very important (and thankfully simple) bug. For some reason, the relative imports got all screwed up. It is fixed now. Please try reinstalling/ upgrading and let me know if you have more problems.

On Fri, Mar 30, 2018 at 7:13 PM, Edulongo7 notifications@github.com wrote:

Many thanks for updating the peregrine installation to use pip.

I did:

pip install peregrinearb"

and run, as the provided example:

from peregrinearb import get_opportunity_for_market import asyncio opportunity = asyncio.get_event_loop().run_untilcomplete(get opportunity_for_market("BTC/USD")) print(opportunity)

got this answer:

Traceback (most recent call last):

File "", line 1, in from peregrinearb import get_opportunity_for_market

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb init.py", line 4, in from .bellman_multi_graph import bellman_ford_multi, NegativeWeightFinderMulti

File "C:\Users\Eduardo\Anaconda3update\lib\site- packages\peregrinearb\bellman_multi_graph.py", line 2, in from .bellmannx import NegativeWeightFinder, SeenNodeError

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellmannx.py", line 3, in from utils import last_index_in_list, PrioritySet, next_to_each_other

ModuleNotFoundError: No module named 'utils'

I installed the utils module, using:

pip install utils

And run the same code above, but got:

Traceback (most recent call last):

File "", line 1, in from peregrinearb import get_opportunity_for_market

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb init.py", line 4, in from .bellman_multi_graph import bellman_ford_multi, NegativeWeightFinderMulti

File "C:\Users\Eduardo\Anaconda3update\lib\site- packages\peregrinearb\bellman_multi_graph.py", line 2, in from .bellmannx import NegativeWeightFinder, SeenNodeError

File "C:\Users\Eduardo\Anaconda3update\lib\site-packages\peregrinearb\bellmannx.py", line 3, in from utils import last_index_in_list, PrioritySet, next_to_each_other

ImportError: cannot import name 'last_index_in_list'

Am i doing something wrong? Thank again.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/wardbradt/peregrine/issues/20#issuecomment-377643508, or mute the thread https://github.com/notifications/unsubscribe-auth/AZWm3UFn7ieLbYjfY1adYAkDDTWWMO_Yks5tjrwFgaJpZM4S9unQ .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

ystreicher commented 6 years ago

Has this issue been solved? I also get this: AttributeError: 'bittrex' object has no attribute 'close', when running examples/multiple_coins_multiple_exchanges.py