阿丹:
在使用rasa来开发的时候,已经安装完成rasa但是使用rasa init。的时候出现识别不到这个命令。这里记录和解决一下:
问题描述:
Requirement already satisfied: werkzeug>=1.0.1 in /home/lianlu/.local/lib/python3.8/site-packages (from tensorboard<2.13,>=2.12->tensorflow-cpu-aws==2.12.0->rasa) (3.0.3)
Requirement already satisfied: backports.zoneinfo in /home/lianlu/.local/lib/python3.8/site-packages (from tzlocal!=3.*,>=2.0->apscheduler<3.10,>=3.6->rasa) (0.2.1)
Requirement already satisfied: requests-oauthlib>=0.7.0 in /home/lianlu/.local/lib/python3.8/site-packages (from google-auth-oauthlib<1.1,>=0.5->tensorboard<2.13,>=2.12->tensorflow-cpu-aws==2.12.0->rasa) (2.0.0)
Requirement already satisfied: MarkupSafe>=2.1.1 in /home/lianlu/.local/lib/python3.8/site-packages (from werkzeug>=1.0.1->tensorboard<2.13,>=2.12->tensorflow-cpu-aws==2.12.0->rasa) (2.1.5)
Requirement already satisfied: h11<1,>=0.9.0 in /home/lianlu/.local/lib/python3.8/site-packages (from wsproto->simple-websocket>=0.10.0->python-engineio!=5.0.0,<6,>=4->rasa) (0.14.0)
Requirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<1.1,>=0.5->tensorboard<2.13,>=2.12->tensorflow-cpu-aws==2.12.0->rasa) (3.1.0)
lianlu@lianlu-desktop:~/rasa$ rasa
bash: rasa:未找到命令
这里可以看到已经完成了安装但是这里还是识别不到这个rasa。
尝试解决:
因为pip如果是在用户层级下的话,一般默认的是在用户目录文件下的.local/bin下的
lianlu@lianlu-desktop:~/rasa$ /home/lianlu/.local/bin/rasa run
/home/lianlu/.local/lib/python3.8/site-packages/rasa/core/tracker_store.py:1044: MovedIn20Warning: Deprecated API features detected! These feature(s) are not compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
Base: DeclarativeMeta = declarative_base()
解决方案:
需要将这个rasa放到我们的环境变量中就可以了。
排查方案:
当你遇到“未找到命令”的问题时,这通常意味着系统在默认的路径中没有找到你尝试运行的程序(在这个情况下是 rasa
)。这可能有几个原因:
-
环境问题:你可能在一个不同的Python环境(如虚拟环境)中安装了Rasa,而当前终端会话并未激活该环境。确保你激活了正确的Python环境。如果你使用的是conda,可以使用
conda activate your_env_name
;如果使用的是virtualenv,可以使用source your_env/bin/activate
(在Linux/macOS上)或your_env\Scripts\activate
(在Windows上)来激活环境。 -
安装位置问题:Python包可能安装在了用户级别的
.local
目录下,而这个目录可能不在系统的PATH环境变量中。你可以尝试直接通过完整路径运行Rasa,比如/home/lianlu/.local/bin/rasa
,或者将这个目录添加到PATH中。添加到PATH的方法取决于你的shell类型,对于bash,可以在~/.bashrc
或~/.bash_profile
文件末尾添加一行export PATH=$PATH:/home/lianlu/.local/bin
,然后运行source ~/.bashrc
(或相应的配置文件)使更改生效。 -
权限问题:虽然不太常见,但有时权限问题也可能导致无法执行程序。确保你有执行该文件的权限。
-
安装确实未完成或失败:尽管日志显示依赖项已安装,但确保Rasa本身确实已经安装。可以通过运行
pip show rasa
来检查Rasa是否以及在哪里被安装。
解决步骤建议:
- 首先,确认当前使用的Python环境是否正确。
- 尝试通过完整路径直接运行Rasa。
- 如果上述步骤不奏效,检查Rasa是否已成功安装,并考虑重新安装,确保在安装时激活了正确的环境。
- 最后,如果有必要,调整PATH环境变量以包含Rasa的可执行文件所在目录。
希望这些建议能帮助你解决问题!
环境变量设置:
要将 /home/lianlu/.local/bin
路径添加到全局环境变量中,以便在任何终端会话中都能直接运行 rasa
命令,你需要编辑你的 shell 配置文件。以下是针对几种常见Linux shell的步骤:
对于bash shell
打开你的bash配置文件。如果你是普通用户,通常可以编辑 ~/.bashrc
文件。如果是全局设置(谨慎操作,可能影响所有用户),则编辑 /etc/bash.bashrc
。
你可以使用文本编辑器打开它,例如使用 nano
或 vim
:
nano ~/.bashrc
在文件的末尾添加以下行:
export PATH=$PATH:/home/lianlu/.local/bin
这行命令的意思是将 /home/lianlu/.local/bin
加入到现有的 PATH
变量中。
存并关闭文件。如果使用 nano
,可以通过按 Ctrl+X
,然后按 Y
确认保存,最后按 Enter
退出。
为了让改动立即生效,你需要重新加载bash配置文件。在终端中运行:
source ~/.bashrc
zsh shell
如果你使用的是zsh,过程相似,但需要编辑的是 ~/.zshrc
文件。
开 ~/.zshrc
文件进行编辑。
在文件末尾添加:
export PATH=$PATH:/home/lianlu/.local/bin
存文件并关闭。
重新加载zsh配置,运行
source ~/.zshrc
完成以上步骤后,你应该能够在任何新打开的终端窗口中直接运行 rasa
命令了。如果仍然遇到问题,重启终端或电脑也是一个选项,以确保所有环境变量设置正确加载。