python - 找不到命令“python”-在我将它分配为 python3 的别名之后
问题描述
我正处于使用 python 学习 django 的早期阶段。之前两者都没有做过。
我正在学习一门课程,讲师已经展示了如何使用 vagrant 启动一个新项目,并且主目录中的一个文件被称为Vagrantfile
,没有文件扩展名(对于讲师来说也是如此)。
这些是文件的内容:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "ubuntu/bionic64"
config.vm.box_version = "~> 20200304.0.0"
config.vm.network "forwarded_port", guest: 8000, host: 8000
config.vm.provision "shell", inline: <<-SHELL
systemctl disable apt-daily.service
systemctl disable apt-daily.timer
sudo apt-get update
sudo apt-get install -y python3-venv zip
touch /home/vagrant/.bash_aliases
if ! grep -q PYTHON_ALIAS_ADDED /home/vagrant/.bash_aliases; then
echo "# PYTHON_ALIAS_ADDED" >> /home/vagrant/.bash_aliases
echo "alias python='python3'" >> /home/vagrant/.bash_aliases
fi
SHELL
end
根据我的理解,这行echo "alias python='python3'" >> /home/vagrant/.bash_aliases
告诉 vagrant,当我使用python
命令时,它应该把它当作我写python3
的 .
但是,当我编写以下命令python -m venv ~/env
时,我会收到以下消息:
Command 'python' not found, but can be installed with:
apt install python3
apt install python
apt install python-minimal
Ask your administrator to install one of them.
我在运行命令后调用此命令vagrant ssh
并且我已经在虚拟机中,并导航到 vagrant 目录。我知道是因为在 git bash 这显示为我当前的位置vagrant@ubuntu-bionic:/vagrant$
。
我不确定它是否相关,或者是否是不同的问题,但我会补充一点,即使我运行此命令python3 -m venv ~/env
,我也会收到以下响应:
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/vagrant/env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
如果我运行它推荐的安装命令(带有sudo
),我会得到以下响应:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package python3-venv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
这阻碍了我的学习,不知道如何与他一起前进。任何帮助表示赞赏。
解决方案
问题可能是别名python3
,python
默认情况下 Ubuntu 18 同时发布了 Python 2 (python) 和 Python 3 (python3),并且不小心更改它会导致不稳定,从细微的错误到系统无法启动,您可以:
- 用来
update-alternatives
改变它 python3
按原样使用- 安装包
python-is-python3
(虽然我不确定这在 18 中是否可用)
无论如何,通过删除别名,一切都应该恢复正常。
推荐阅读
- python - 不支持编码时如何从 DBF 文件中删除字段?
- laravel - 如何在 Laravel 6.12 中进行身份验证分类?
- javascript - 是否可以选择一个包含 h1 的锚标记,其中包含文本“访问站点”?
- c - 如何在汇编中编写 If, Else if
- javascript - 如何制作 JS if 语句来查看值是否不是某些字符串?
- python - 哪个模块管理多个树中的节点?
- ios - 使用 performBatchUpdates 同时删除行、删除部分和重新加载行时 UITableView 崩溃
- c# - 我正在尝试将记录插入到对象列表中,但是当我调用该方法时没有插入任何内容。我究竟做错了什么?
- python - 如何在熊猫列表中打印值==字符串的行
- pandas - 使用时间序列列名操作列时出现熊猫键错误