第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python venv 項(xiàng)目隨機(jī)停止能夠找到 python3 二進(jìn)制文件

Python venv 項(xiàng)目隨機(jī)停止能夠找到 python3 二進(jìn)制文件

蕭十郎 2023-08-15 16:39:04
我有一臺(tái)運(yùn)行 Catalina 10.15.6 的 MacBook Pro。我一直遇到 python 環(huán)境失敗的問(wèn)題venv。當(dāng)我啟動(dòng) python 項(xiàng)目時(shí),我在項(xiàng)目目錄中運(yùn)行以下命令:python3 -m venv .這就創(chuàng)造了環(huán)境。我激活環(huán)境并. bin/activate運(yùn)行which python3給了我這樣的東西:/Users/qotsa42/Projects/web/project_name/bin/python3換句話說(shuō),它使用虛擬環(huán)境中的 python 二進(jìn)制文件。一切都很好。我的計(jì)算機(jī)上有幾十個(gè)項(xiàng)目正是通過(guò)這種方式創(chuàng)建的。有時(shí),由于沒有明顯的原因并且沒有明顯的模式,激活腳本不再加載 python 二進(jìn)制文件。例如,我只是嘗試為一個(gè)幾個(gè)月沒有接觸過(guò)的項(xiàng)目激活一個(gè)環(huán)境。which pip3給了我這個(gè):/Users/qotsa42/Projects/web/project_name/bin/pip3但which python3給了我這個(gè):/usr/local/bin/python3我一生都無(wú)法弄清楚是什么阻止了虛擬環(huán)境加載正確的 python 二進(jìn)制文件。在這個(gè)特定的項(xiàng)目中,我使main.py文件可執(zhí)行,并將 bash shebang 放在頂部,指向虛擬環(huán)境的二進(jìn)制文件。當(dāng)我運(yùn)行腳本時(shí),它給我這個(gè):/Users/qotsa42/Projects/web/project_name/bin/python3: bad interpreter: No such file or directory操作系統(tǒng)升級(jí)或 Brew 升級(jí)可能會(huì)破壞我所有的虛擬環(huán)境,我現(xiàn)在才注意到,但這對(duì)我來(lái)說(shuō)似乎很可疑。我感謝您提前提供的任何幫助。另外:刪除所有環(huán)境文件/目錄并重新安裝虛擬環(huán)境已經(jīng)解決了這個(gè)問(wèn)題,但如果可能的話,我寧愿不處理所有這些問(wèn)題。問(wèn)題似乎出在 python 二進(jìn)制文件的 simlinks 中。python3.7該目錄中沒有二進(jìn)制文件/usr/local/opt/python/bin,但有一個(gè)python3.8。運(yùn)行/usr/local/opt/python/bin/python3.8 ./main.py有效,但它不會(huì)加載我通過(guò)安裝的模塊pip3——即我得到 ModuleNotFoundError: No module named 'pyodbc'運(yùn)行python3 -m venv --upgrade .輸出:Error: [Errno 2] No such file or directory: '/Users/qotsa42/Projects/web/import_csv/bin/python3'
查看完整描述

1 回答

?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

你的激活腳本是什么樣的?它的主要目的是在 PATH 的開頭插入 Python。


這是我的:


VIRTUAL_ENV="/Users/myuser/kds2/py2/venv38"

export VIRTUAL_ENV


_OLD_VIRTUAL_PATH="$PATH"

PATH="$VIRTUAL_ENV/bin:$PATH"

在運(yùn)行之前activate,我的 PATH 中有這個(gè)(我使用實(shí)用程序?qū)⑵渲鹦蟹指睿?/p>


0 /Users/myuser/.cargo/bin

1 /Users/myuser/.nvm/versions/node/v10.15.0/bin

2 /opt/local/bin

激活后


0 /Users/myuser/kds2/py2/venv38/bin

1 /Users/myuser/.cargo/bin

2 /Users/myuser/.nvm/versions/node/v10.15.0/bin

所以,基本上,它所做的一切都是在 PATH 上加上前綴$VIRTUAL_ENV/bin


我建議你看一下激活并嘗試看看它的作用。$VIRTUAL_ENV 有什么問(wèn)題嗎?它確實(shí)被硬編碼到激活位置。


printf "\n$VIRTUALENV:$VIRTUALENV:\n"可能會(huì)給你一個(gè)線索,了解正在發(fā)生的事情。


VIRTUALENV=$(fnp $BASH_SOURCE/../..)同樣可以做到這一點(diǎn),


現(xiàn)在,接下來(lái)是你的實(shí)際目錄是什么樣的:


如果我在cdvenv 的正上方,我有這樣的樹結(jié)構(gòu):


tree -d -L 2 venv


venv

├── bin

│   └── __pycache__

├── cx_Oracle-doc

├── include

├── lib

│   └── python3.6

├── man

│   └── man1

└── share

    ├── doc

    ├── jupyter

    └── man

現(xiàn)在,你的可能會(huì)有所不同。3.6可能是我的剩余。但有一個(gè)目錄結(jié)構(gòu),里面充滿了文件。


讓我們cd進(jìn)入 bin,即 activate-ion 之后我的第一個(gè) PATH 條目


和ls -l python


(venv38) myuser@bin$ ls -l python

lrwxr-xr-x  1 myuser  staff  9 May 29 13:15 python -> python3.8

這只是為了使其與版本無(wú)關(guān)。


讓我們ls -l python3.8


lrwxr-xr-x  1 myuser  staff  73 May 29 13:15 python3.8 -> /opt/local/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8


這就是 macports 放置 Python 的地方。如果你使用brew,它應(yīng)該在類似的地方/usr/local/(我認(rèn)為)。


是的,我可以啟動(dòng)它:


(venv38) myuser@bin$ python3.8

Python 3.8.1 (default, Jan  5 2020, 21:32:35)

[Clang 10.0.1 (clang-1001.0.46.4)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

現(xiàn)在,其中任何一項(xiàng)都可能失敗,但需要通過(guò)步驟來(lái)驗(yàn)證發(fā)生了什么:

  • 正在設(shè)置路徑

  • venv/bin 內(nèi)容

  • 實(shí)際的 Python 被指向 venv/bin

然后你就可以推理出問(wèn)題的原因。

而且,如果您想知道的是 3.7 與 3.8 的項(xiàng)目,也許您可以在那時(shí)rm python修復(fù)ln -s /usr/local/opt/python/bin/python3.8 python。

但在執(zhí)行此操作之前,請(qǐng)查看 python 的時(shí)間戳,該時(shí)間戳可能指向 3.7。符號(hào)鏈接帶有鏈接創(chuàng)建的時(shí)間。這敲響了警鐘嗎?你當(dāng)時(shí)安裝了什么東西嗎?也許與點(diǎn)有關(guān)?

現(xiàn)在,我已經(jīng)讓 Python 3.6/3.7/3.8 共存了,基本上沒有問(wèn)題。但如果可以的話,也許可以考慮標(biāo)準(zhǔn)化 1 個(gè)版本,除非你的 venv 穩(wěn)定了?


查看完整回答
反對(duì) 回復(fù) 2023-08-15
  • 1 回答
  • 0 關(guān)注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)