virtualenvコマンドによって現在生成されているactivate.fishファイルは、fishに存在しない「source」コマンドを使用します。 これにより、スクリプトの実行時にエラーが発生します。 簡単な解決策は、ソースコマンドを「。」に変更することです。
詳細については、添付の画像を参照してください。
元のエラー
activate.fishファイルに対して行った編集
結果
魚の殻のウェブサイトは異なって伝えます。
https://fishshell.com/docs/current/commands.html#source
。 (単一のピリオド)は、ソースコマンドのエイリアスです。 の用法 。 ソースを優先して非推奨になりました。 魚の将来のバージョンで削除されます。
私は誰を信じますか?
申し訳ありませんが、フィッシュシェルページの第211号を読んだ後、急いで結論を出しました。
どうやら同じ懸念が第310号で提起され、最新バージョンの魚で対処されたよう
私のシステムの問題は、apt-getがデフォルトでfish 2.0.0のみをインストールし、 source
コマンドが導入されたバージョン(2.2.0)を取得するために、別のリポジトリを追加する必要があるためでした。 PPAリポジトリfish-shell/release-2
を追加し、fishパッケージをアップグレードすると、問題が修正されました。 ご協力いただきありがとうございます。混乱をお詫び申し上げます。
本当に? 私はfishバージョン2.3.1ではなく、virtualenvアクティブ化ファイルのソースが機能しません。
source ~/.venvs/base/bin/activate
Unsupported use of '||'. In fish, please use 'COMMAND; or COMMAND'.
~/.venvs/base/bin/activate (line 23): if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then
^
from sourcing file ~/.venvs/base/bin/activate
called on standard input
source: Error while reading file '/Users/satkins/.venvs/base/bin/activate'
あなたが調達している@sjatkins activate
の代わりにbashの/ zshのの/ etcのために設計され、スクリプトを、 activate.fish
最も参考になるコメント
あなたが調達している@sjatkins
activate
の代わりにbashの/ zshのの/ etcのために設計され、スクリプトを、activate.fish