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

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

如何在本地 Python 項(xiàng)目的 Yocto 配方中安裝來自 requirements.txt

如何在本地 Python 項(xiàng)目的 Yocto 配方中安裝來自 requirements.txt

有只小跳蛙 2021-10-05 15:45:31
我應(yīng)該有什么:我希望我的 Yocto 項(xiàng)目為我的 Python 項(xiàng)目構(gòu)建一個(gè)包含所有依賴項(xiàng)的包。該項(xiàng)目必須在生成的只讀 sdcard 圖像上運(yùn)行。它只是應(yīng)該將所需版本中的所有要求安裝到包中。我沒有運(yùn)氣的嘗試:調(diào)用pipdo_install():“找不到 pip/pip3”,即使它在 RDEPENDS 中。 無論如何,我真的很喜歡這種方式。與inherit pypi:嘗試使用 時(shí)inherit pypi,它還會(huì)嘗試從 pypi 獲取我的本地資源(我的 pyton 項(xiàng)目)。而且我總是將要求復(fù)制到配方中。這不是我的首選方式。pip在 pkg_postinst() 中調(diào)用:它嘗試在第一次啟動(dòng)時(shí)安裝模塊并失敗,因?yàn)橄到y(tǒng)沒有互聯(lián)網(wǎng)連接并且它是一個(gè)只讀系統(tǒng)。它必須在第一次啟動(dòng)時(shí)無需安裝即可開箱即用。它的東西來晚了。我會(huì)去哪里:當(dāng) requirements.txt 中的某些內(nèi)容發(fā)生變化時(shí),應(yīng)該不需要更改配方中的任何內(nèi)容。背景資料我正在 Linux 環(huán)境中使用 Yocto Rocko。在主機(jī)系統(tǒng)中,沒有安裝 pip。我想在目標(biāo)系統(tǒng)中運(yùn)行從 RDEPENDS 安裝的這個(gè)。使用以下命令構(gòu)建包(僅此配方):bitbake myproject構(gòu)建整個(gè) sdcard 映像:bitbake myProject-image-base食譜:myproject.bb(相關(guān)行):RDEPENDS_${PN} = "python3 python3-pip"APP_SOURCES_DIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../../../../app-sources')}"FILESEXTRAPATHS_prepend := "${THISDIR}/files:"SRC_URI = " \    file://${APP_SOURCES_DIR}/myProject \    ..."inherit allarch  # tried also with pypi and setuptools3 for the pypi way.do_install() {  # Line 116    install -d -m 0755 ${D}/myProject    cp -R --no-dereference --preserve=mode,links -v ${APP_SOURCES_DIR}/myProject/* ${D}/myProject/    pip3 install -r ${APP_SOURCES_DIR}/myProject/requirements.txt    # Tried also python ${APP_SOURCES_DIR}/myProject/setup.py install}# Tried also this, but it's no option because the data MUST be included in the Package:# pkg_postinst_${PN}() {#     #!/bin/sh -e#     pip3 install -r /myProject/requirements.txt# }FILES_${PN} = "/myProject/*"導(dǎo)致的錯(cuò)誤:預(yù)計(jì)將列出的模塊從 requirements.txt 安裝到 myProject 包中,以便 python 應(yīng)用程序?qū)⒅苯釉谏傻闹蛔x sdcard 映像上運(yùn)行。使用 pip,我得到:| /*/tmp/work/*/myProject/0.1.0-r0/temp/run.do_install: 116: pip3: not found| WARNING: exit code 127 from a shell command.| ERROR: Function failed: do_install ...使用 pypi 時(shí):404 Not FoundERROR: myProject-0.1.0-r0 do_fetch: Fetcher failure for URL: 'https://files.pythonhosted.org/packages/source/m/myproject/myproject-0.1.0.tar.gz'. Unable to fetch URL from any source.=> 但它不應(yīng)該獲取 myProject,因?yàn)樗呀?jīng)是本地的并且無處不在。有任何想法嗎?當(dāng)requirements.txt更改時(shí),無需更改配方即可獲得即用型sdcard圖像的最佳方法是什么?
查看完整描述

3 回答

?
慕田峪4524236

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

我的最新發(fā)現(xiàn):


Yocto/bitbake 似乎抑制了對(duì)需求的解釋,因?yàn)檫@打破了解決可能導(dǎo)致沖突的自動(dòng)依賴關(guān)系。

原因: setup.py 中所需的模塊不會(huì)作為獨(dú)立的包存儲(chǔ),而是作為我的包的一部分。因此,bitbake 不知道這個(gè)模塊可能與其他可能需要不同版本中的相同模塊的包發(fā)生沖突。


我的食譜里有什么:


MY_INSTALL_ARGS = "--root=${D} \

    --prefix=${prefix} \

    --install-lib=${PYTHON_SITEPACKAGES_DIR} \

    --install-data=${datadir}"


do_install() {

    PYTHONPATH=${PYTHON_SITEPACKAGES_DIR} \

    ${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} setup.py install ${MY_INSTALL_ARGS}

}

如果我在 bitbake as 之外執(zhí)行此操作python3 setup.py install ${MY_INSTALL_ARGS},所有內(nèi)容都將正確安裝,但在配方中,沒有安裝任何要求。有一個(gè)參數(shù)--no-deps,但我沒有找到它在哪里設(shè)置。


我認(rèn)為可能有一種可能性可以利用 setup.py 中的要求:


找出--no-deps在易于安裝的 openembedded/poky 層中禁用的位置。

創(chuàng)建一個(gè)單獨(dú)的 PYTHON_SITEPACKAGES_DIR

將此單獨(dú)的 PYTHON_SITEPACKAGES_DIR 安裝在例如主目錄中作為私有 python 模塊目錄。

這樣,沒有 python 模塊會(huì)觸發(fā)沖突。


由于我沒有時(shí)間對(duì)此進(jìn)行試驗(yàn),因此我現(xiàn)在將為每個(gè)需求定義一個(gè)配方。


查看完整回答
反對(duì) 回復(fù) 2021-10-05
?
慕少森

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

你試試安裝pip?


Debian


apt-get install python-pip

apt-get install python3-pip

Centos


yum install python-pip


查看完整回答
反對(duì) 回復(fù) 2021-10-05
  • 3 回答
  • 0 關(guān)注
  • 245 瀏覽
慕課專欄
更多

添加回答

舉報(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)