[英]Getting "`mkvirtualenv: command not found`" after installing virtualenvwrapper on Ubuntu 20.04
在 Ubuntu v20.04 上,我剛剛使用apt
和命令安裝了virtualenv
和virtualenvwrapper
:
sudo apt install virtualenv
sudo apt install virtualenvwrapper
我沒有收到任何錯誤或警告。
當我嘗試運行據稱位於virtualenvwrapper
中的mkvirtualenv
時,我得到:
mkvirtualenv: command not found
這個問題提出了一個舊的解決方案(8 年前),包括找到文件virtualenvwrapper.sh
並將其添加到源代碼中。
但是,這不再起作用了。 當我輸入source "/usr/bin/virtualenvwrapper.sh"
時,我得到
bash: /usr/bin/virtualenvwrapper.sh: No such file or directory
當我使用locate
或find
在整個計算機中搜索此文件時,我沒有得到任何結果。 當我輸入which virtualenvwrapper
時,我沒有得到任何結果。
嘗試再次重新安裝模塊,我得到:
sudo apt install virtualenvwrapper
Reading package lists... Done
Building dependency tree
Reading state information... Done
virtualenvwrapper is already the newest version (4.8.4-4).
0 to upgrade, 0 to newly install, 0 to remove and 18 not to upgrade.
該怎么辦?
用戶phd評論說mkvirtualenv
不是可執行文件,它是由virtualenvwrapper.sh
提供的 shell function。 但如果你一開始就不知道,你怎么知道呢? 一些技巧:
也許可執行文件名稱本身 ( " mkvirtualenv
" ) 不正確。 在我的系統上,沒有安裝 package、 virtualenv或virtualenvwrapper ,如果用戶嘗試運行任何未安裝但可以安裝的程序名稱, command-not-found package將打印一條錯誤消息,顯示 package 可能需要什么被安裝。
它甚至可以使用相似的發音名稱——所以如果我們運行一個不存在的命令:
bbash
output 是:
Command 'bbash' not found, did you mean: command 'bash' from deb bash (5.0-6ubuntu1.1) command 'rbash' from deb bash (5.0-6ubuntu1.1) Try: apt install <deb name>
但是,如果在Linux Mint 20上,我運行問題中給出的可執行文件名稱:
mkvirtualenv
output 是:
mkvirtualenv: command not found
...這意味着這樣的命令甚至無法安裝。
要找出系統上已安裝的給定 package 安裝程序的實際名稱和路徑,請使用dlocate -lsbin...
,如下所示:
dlocate -lsbin virtualenv virtualenvwrapper
要查找包含已知文件名的未安裝 package 的名稱,請使用apt-file
:
apt-file find virtualenv
...在所有可安裝包的路徑名中找到字符串“virtualenv” 。
要將列表縮小到僅包含字符串"virtualenv"的文件基本名稱,請執行以下操作:
f=virtualenv apt-file find $f | grep '[^/]*'"$f"'[^/]*$'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.