質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

743閲覧

ccxtでimport ccxtから先ができません

piptail

総合スコア9

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/05/14 08:15

前提・実現したいこと

ccxd でアービトラージ自動取引がしたいです。

ここに質問の内容を詳しく書いてください。
homebrewとanacondaとpython3をインストール、pip install ccxtでccxtもインストール。
その後、取引所一覧を取得しようと下記のコードを入力しました。

import ccxt
print(ccxt.exchanges) # print a list of all available exchange classes

ところが、下記のメッセージが出て取得できません。

発生している問題・エラーメッセージ

-bash: syntax error near unexpected token `ccxt.exchanges'
disconoMacBook-ea:~ disco$

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

bashのシェルスクリプトとして実行されています。

text

1python ファイル名

で実行してみてください。

投稿2018/05/14 08:20

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piptail

2018/05/14 08:58

ご回答ありがとうございます。 すみません、素人すぎるのかもしれませんが、下記のようにpython import ccxtと入力したところ、エラーメッセージが返ってきました。 python import ccxt python: can't open file 'import': [Errno 2] No such file or directory
hayataka2049

2018/05/14 09:41

ソースコードを***.pyというファイル名で作って「python ファイル名」と実行してください
piptail

2018/05/14 12:00

ありがとうございます。 Macのテキストエディットで下記のソースを書いて、ccxt_test.pyという名前で保存しました。 import ccxt print(ccxt.exchanges) # print a list of all available exchange classes そしてmacのターミナルから、python と入力した後、python ccxt_test.pyと入力したところ、下記のエラーが返されてしまいました。 >>> python ccxt_test.py File "<stdin>", line 1 python ccxt_test.py ^ SyntaxError: invalid syntax >>> これは何を意味しているのでしょうか? Syntaxが構文、stdinが標準入力を意味しているところまでは調べられたのですが、先に進めません。 ご教示頂ければ助かります。
hayataka2049

2018/05/14 12:04

pythonと入力する必要はありません。入力すると対話的インタプリタが立ち上がりますので。bashから直接python ccxt_test.pyと打ってください
piptail

2018/05/15 01:02

ありがとうございます。 仰る通りにやってみたのですが、下記の通りのエラーが帰ってきました。 disconoMacBook-ea:~ disco$ python ccxt_test.py python: can't open file 'ccxt_test.py': [Errno 2] No such file or directory 一応、テキストエディットで当該ファイルは作っているのですが。。その際は下記のサイトを参考にしました。 http://www.edu.cc.uec.ac.jp/pc/FP07/tips/textedit.html
hayataka2049

2018/05/15 01:04

ファイルを作ったディレクトリとシェルのカレントディレクトリが合っていないのでは。あと、特にこだわりがなければ文字コードはUTF-8の方が良いです
piptail

2018/05/15 02:32

ありがとうございます。 仰る意味を私が正確に理解しているか確認です。 ダウンロードしたccxtのある場所は下記の通りです。 /anaconda3/lib/python3.6/site-packages ですので、テキストエディットで作ったccxt_test.pyと言うファイルを、上記の場所にコピペで移動させたのちに、実行してみたのですが、同じエラーが返って来ました。
hayataka2049

2018/05/15 02:36

カレントディレクトリの意味を理解していないと思うので、調べてみてください。あと、そこはライブラリを入れるディレクトリなので、プログラムを置くのには適していません。 ホームディレクトリ以下に適当なディレクトリを作って、そこにファイルを置き、cdコマンドでそこに移動して実行してみてください。
piptail

2018/05/22 09:02

ありがとうございます。仰る通りの方法で実行できました。
hayataka2049

2018/05/22 09:51

特に他の問題がなければBA決めてくれると嬉しいです!
piptail

2018/05/24 08:21

すみません、pythonの入り口としては理解できて大変ありがたく思っているのですが、実はいざ取引所のAPIを入力してアービトラージを実行してみると、下記のようなエラーメッセージ(POST 401Client Error?)が出てAPIが実行されません。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "arbitrage.py", line 44, in <module> exchange.create_limit_buy_order ('BTC/JPY', amount, ask_price) File "/anaconda3/lib/python3.6/site-packages/ccxt/base/exchange.py", line 1267, in create_limit_buy_order return self.create_order(symbol, 'limit', 'buy', *args) File "/anaconda3/lib/python3.6/site-packages/ccxt/qryptos.py", line 300, in create_order response = self.privatePostOrders(self.extend(order, params)) File "/anaconda3/lib/python3.6/site-packages/ccxt/base/exchange.py", line 306, in request return self.fetch2(path, api, method, params, headers, body) File "/anaconda3/lib/python3.6/site-packages/ccxt/base/exchange.py", line 303, in fetch2 return self.fetch(request['url'], request['method'], request['headers'], request['body']) File "/anaconda3/lib/python3.6/site-packages/ccxt/base/exchange.py", line 377, in fetch self.handle_rest_errors(e, response.status_code, self.last_http_response, url, method) File "/anaconda3/lib/python3.6/site-packages/ccxt/base/exchange.py", line 406, in handle_rest_errors self.raise_error(error, url, method, exception if exception else http_status_code, response) File "/anaconda3/lib/python3.6/site-packages/ccxt/base/exchange.py", line 288, in raise_error raise exception_type(output) ccxt.base.errors.AuthenticationError: quoinex https://api.quoine.com/orders POST 401 Client Error: Unauthorized for url: https://api.quoine.com/orders
hayataka2049

2018/05/24 08:29

その件に関しては私からアドバイスできるかどうかわかりませんし、このコメント欄でやるより新たに質問を立てた方が色々な方が見てくれます。なので、この質問は解決済みにして、新たに質問を立てた方が良いでしょう その際は、 ・どんな作業をしたか(モジュールインストールやAPIの利用登録等あれば) ・環境(OS, pythonやライブラリのバージョン等)に関する情報 ・書いたソースコード全文(省略するとよくわからなくなります。個人情報(ユーザー名、パスワード等)は伏せて構いません)。ちゃんと ```python コード ``` でくくるようにしてください ・エラーメッセージ全文(省略するとよくわからなくなります。個人情報(ユーザー名等)は伏せて構いません) を記載してください
piptail

2018/05/24 08:55

わかりました。ありがとうございます。
piptail

2018/05/24 09:15

ちなみに、macのコンピュータ名は公表しても問題ないでしょうか?
hayataka2049

2018/05/24 09:17

「コンピュータ名」が「macのモデル」を指すなら、公表しても構いません(ただ、OSのバージョン等を書いた方が有益な情報になります)。「自分がコンピュータに対して付けた名前」を指すなら、人によって考え方は違うと思いますが、私なら伏せます。
piptail

2018/05/24 10:26

ありがとうございます。「自分がコンピュータにつけた名前を伏せる」理由について、差し支え無ければお聞かせ願えますでしょうか?
hayataka2049

2018/05/24 10:31

コンピュータの名前に実名入れてるからです。あとは恥ずかしい名前付けてるという人もいるでしょうし。 そもそもそれ以前に、基本的に問題解決に寄与しない情報という話もありますが。
piptail

2018/05/24 10:34

わかりました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問