簡體   English   中英

無法“激活”virtualenv

[英]Can't "activate" virtualenv

新手在虛擬環境跑Python,搞亂Django,激活不了虛擬環境。

花了最后 4 個小時嘗試在本地終端/VS Code 上激活虛擬環境(venv),但沒有成功。

避免使用“sudo pip install virtualenv”,因為我試圖避免以 root 身份安裝和具有不同的目錄路徑等。

“pip 安裝 virtualenv”output:

使用緩存的 virtualenv-20.0.31-py2.py3-none-any.whl 收集 virtualenv (4.9 MB)
要求已滿足:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages 中的 six<2,>=1.9.0(來自 virtualenv)(1.15.0)
已滿足要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages 中的 appdirs<2,>=1.4.3(來自 virtualenv)(1.4.4)
已滿足要求:/Users/garrettpinto/Library/Python/3.8/lib/python/site-packages 中的 filelock<4,>=3.0.0(來自 virtualenv)(3.0.12)
已滿足要求:distlib<1,>=0.3.1 in /Users/garrettpinto/Library/Python/3.8/lib/python/site-packages(來自 virtualenv)(0.3.1)
安裝收集的包:virtualenv
成功安裝virtualenv-20.0.31

“virtualenv venv”output:

在 416 毫秒內創建虛擬環境 CPython3.8.5.final.0-64
創建者 CPython3Posix(dest=/Users/garrettpinto/Desktop/rp-portfolio/distribution/venv,clear=False,global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/garrettpinto/Library/Application Support/virtualenv)
添加種子包:pip==20.2.2, setuptools==49.6.0, wheel==0.35.1
激活器 BashActivator、CShellActivator、FishActivator、PowerShellActivator、PythonActivator、XonshActivator

“source venv/bin/activate”什么都不返回

“./venv/bin/activate” output:

zsh:權限被拒絕:./venv/bin/activate

“sudo./venv/bin/activate”output:

須藤:./venv/bin/activate:找不到命令

想法?

由於虛擬環境是如何演變的,因此有很多關於虛擬環境的令人困惑的信息。 從 Python 3.3 開始, venv模塊可作為標准庫的一部分與 Python 一起使用,以創建虛擬環境,如果您剛剛開始,我建議您先學習它。 安裝 Python 3.8 后,無需安裝任何額外內容。

在 VSCode 終端的項目主目錄中,試試這個:

python3 -m venv venv
. venv/bin/activate
pip install Django

以下是這三行的作用:

  1. 調用 Python 模塊venv並在目錄venv中創建一個新的虛擬環境
  2. 運行腳本以激活位於路徑venv/bin/activate中的虛擬環境
  3. 現在venv已激活,安裝 Django。

首次安裝后,您只需重復步驟 (2) 即可激活它。 您還可以在啟動 IDE 時將 VSCode 指向自動啟動它。 您可以在安裝完 Python 插件后點擊 VSCode 底部的欄,在您創建的venv中選擇 Python 版本。 祝你好運!

更新:

下面是它在我機器上的zsh中工作的示例:

$ zsh
% python3 --version
Python 3.8.2
% python3 -m venv venv
% . venv/bin/activate
(venv) % pip install Django
Collecting Django
Collecting pytz (from Django)
Collecting asgiref~=3.2.10 (from Django)
Collecting sqlparse>=0.2.2 (from Django)
Installing collected packages: pytz, asgiref, sqlparse, Django
Successfully installed Django-3.1.1 asgiref-3.2.10 pytz-2020.1 sqlparse-0.3.1

我被困了很長一段時間,但你可以試試 venv:

python -m venv virtualenvname

#to activate the virtual environment

source virtualenvname/Scripts/activate

Solution of the problem of virtual environment created but not activated.

to make activate just add a space between .(dot) and your venv path. i,e $ . yourvirtualenv/bin/activate Hope this will work. But not use like: $ yourvirtualenv/bin/activate or $ /yourvirtualenv/bin/activate Here is my command and the output: admin@osboxes:~/pysrc$ . my_env/bin/activate (my_env) admin@osboxes:~/pysrc$
Output of the wrong command: admin@osboxes:~/pysrc$ my_env/bin/activate bash: my_env/bin/activate: Permission denied admin@osboxes:~/pysrc$ sudo my_env/bin/activate [sudo] password for admin: sudo: my_env/bin/activate: command not found admin@osboxes:~/pysrc$ my_env/bin/activate bash: my_env/bin/activate: Permission denied admin@osboxes:~/pysrc$

我只是更喜歡使用 'venv' 作為我所有虛擬環境的名稱,所以我總是會使用相同的命令來激活我機器中的環境。

嘗試:

# Create the virtual environment inside your project's folder
$ python3 -m venv venv

#Activate it
$ source venv/bin/activate

由於我需要經常更換項目和環境,所以我在系統中創建了兩個別名(ubuntu 20.04),一個用於創建,另一個用於激活它,如上圖所示:

為了創建,我選擇了“venv”作為我的別名。 在創建之前,我證明現有的“venv”文件夾已被刪除。

venv='rm -rf venv && python3.9 -m venv venv'

要激活,我選擇了“激活”作為我的別名

activate='source venv/bin/activate'

您可以在此答案中注意到,用於創建和激活的窗口命令略有不同。

我有同樣的問題。 它不知從何而來。 為簡單起見,請使用source來運行激活腳本。 在 Linux 例如

source .virtualenvs/test/bin/activate

我不知道為什么,但這些變得至關重要。

編碼唐納德

這對我cd到你的文件夾.bin folder activate - . bin/activate . bin/activate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM