所以我使用以下命令在我的FreeBSD盒子上安装了python:
#portsnap fetch
#portsnap extract
#portsnap update
#cd /usr/ports/lang/python32
#make install clean
一切正常,我没有收到错误消息。安装进展顺利。但是当我在shell中键入python时,我得到:
python: Command not found.
救命?
你可以搜索它:
find /usr/bin /bin/ /usr/local/bin -iname 'python*'
我知道这是一个老帖子,但仍然没有完全回答。
来自guettli的接受回答的命令将返回如下内容:
$ find /usr/bin /bin/ /usr/local/bin -iname 'python*'
/usr/local/bin/python2.7
/usr/local/bin/python2.7-config
/usr/local/bin/python3.6m-config
/usr/local/bin/python3.6
/usr/local/bin/python3.6-config
/usr/local/bin/python3.6m
这意味着要输入python shell,您需要输入“python3.6”。
要使用“python”,您可以创建一个符号链接:
ln -s /usr/local/bin/python3.6 /usr/local/bin/python
如果您没有创建符号链接的权限(或者您只是不想),您也可以通过为您的用户编辑默认shell dotfile来创建别名,例如: 〜/ .tcshrc添加以下行:
echo 'alias python python3.6' >> ~/.tcshrc
在重新登录shell或“重新加载”.tcshrc中的更改之前,Alias不会自动在当前会话中工作:
source ~/.tcshrc
通过编辑dotfile,别名将成为永久性的。 要仅为当前会话创建临时别名,您可以直接在shell中设置别名:
alias python python3.6
注销后临时别名将消失,但在当前会话中可以“unaliased”:
unalias python
如果输入完整路径(/ usr / local / bin / python)怎么办?你可能忘了键入“rehash”。您的shell需要重新构建PATH中可用的程序缓存。
嗯,但.bashrc
是错误的选择,因为问题仍然存在..请参阅bash(1)联机帮助页
当启动不是登录shell的交互式shell时,如果该文件存在,bash将从〜/ .bashrc读取并执行命令。
和..
如果shell是交互式的,请不要读取和执行个人初始化文件〜/ .bashrc。如果以sh调用shell,则默认情况下此选项处于启用状态。
好的解决方案
echo 'alias python=python2.7' >>~/.bash_profile
更新:根据FreeBSD发行说明的真正解决方案
pkg install lang/python
which python
/usr/local/bin/python