簡體   English   中英

從 .network 導入模塊

[英]Importing module from network

有沒有辦法讓 python 從 a.network 讀取模塊?

我們有很多機器,每次更改模塊時手動更新每台機器太費力,所以我希望 python 從 .network 上的某個位置獲取模塊。

有任何想法嗎?

將網絡位置安裝到文件系統中,並將該路徑添加到PYTHONPATH。 這樣,本地計算機上的Python將能夠看到遠程位置中存在的模塊。 無法遠程直接從模塊導入,例如在html中指定js文件。

我相信您正在尋找一種分布式計算框架,您可以將代碼和數據部署到一個節點,並將它們作為任務分布在一組客戶端/服務器/對等體中。 檢查PyroexecnetParallel PythonJugRPyC

可能值得注意的是,存在一個用於導入通過 HTTP/S 可用的包/模塊的模塊,它是httpimport 這適用於 Python2 和 Python3。

因此,從接受的答案來看,事實證明有一些方法可以“像 javascript”一樣以編程方式導入遠程模塊,如下所示:

>>> with httpimport.remote_repo(['package1'], 'http://my-codes.example.com/python_packages'):
...     import package1
...
>>> # -- 'package1' code is available here --

編輯 (31/01/2023):大多數httpimport命令的語法在1.0.0重寫后發生了變化。 remote_repo的新參數省略了第一個參數,如下所示:

>>> with httpimport.remote_repo('http://my-codes.example.com/python_packages'):
...     import package1
...

您可能想查看存儲庫 README 中提供的所有使用示例: https://github.com/operatorequals/httpimport#basic-usage

sys.path.append(r'\\network\path')
import module

雖然想要通過網絡導入模塊有點病態,但實際上是可行的 看看zipimport的來源 ,了解它是如何完成的。

我最后這樣做了:

控制面板\\所有控制面板項目\\系統>>高級>>環境變量>>系統變量>>新建>>名稱= PYTHONPATH,值= \\ server \\ scriptFolder

謝謝大家的幫助:)

暫無
暫無

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

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