Python入門3という書籍で学んでおります。
その際、以下のファイル(fab1.py)を作成し、以下のコードで実行しようとするとエラーが起きます。
fabricのインストール状況も以下の通りです。
なお、ファイルの作成内容と実行コードは全く書籍の通りに書いているため、タイプエラーではないと思います。
ご教示のほどどうかよろしくお願いいたします。
#作成したファイル内容(fab1.py) def iso(): from datetime import datetime print(date.todat().isoformat())
#pythonで実行しようとしたコード内容 $ fab -f fab1.py -H localhost iso
#エラー内容 Can't find any collection named 'fabfile'!
上記エラー内容を踏まえ、以下のコードで確認するも、再度上記と同じエラーが出ました。
$ fab -r ./fab1.py
#fabricのインストール状況 Fabric 2.5.0 Paramiko 2.7.2 Invoke 1.4.1
fabricは素人なので指摘のみですが、
- コードは基本的に全文記載してください。
(長すぎて全文は不可能な場合でもそのエラーが出るコードにしてください)
実行できない状態のコード(違ったらすいません)は控えてください。
- エラーメッセージを検索しただけで以下のページが出てきますが、確認しましたか?
https://stackoverflow.com/questions/52546854/fabric-fab-f-cant-find-any-collection-named-fabfile
ご指摘ありがとうございます。
コードは前文記載しております。(作成ファイルの内容は本当にこれだけなので…)
エラーメッセージの内容は見ましたが、結局どのように改善できるかが分からずに困っています。
> Now with newer version of Fabric 2.x you must use -r instead of -f.
(意訳:Fabric2.x以降では-fの代わりに-rを使ってください)
とコマンド例付きで記載されていますが、どこが分からないのですか?
その-rを使ってもエラー内容が変わらず発生するので対処がわからず困っております。
ディレクトリの構造と、実際に打った(-r付きの)コマンドを記載してください。
素人判断ですが、そこらへんが怪しいです。
遅くなり大変失礼しました。
再度書き直したコマンドを追加しましたのでご確認のほどお願いします。
確かに自分でもこれ自体が間違ってしまっているのかもしれないと思いますが、、、
なお、fab1.pyはカレントディレクトリに確かにあります。
よろしくお願いいたします。
先ほどのURLでは、-rオプションはファイルではなくディレクトリを指定しています。
そのようにした場合はどうなりますでしょうか?