[英]Importing module from network
有沒有辦法讓 python 從 a.network 讀取模塊?
我們有很多機器,每次更改模塊時手動更新每台機器太費力,所以我希望 python 從 .network 上的某個位置獲取模塊。
有任何想法嗎?
將網絡位置安裝到文件系統中,並將該路徑添加到PYTHONPATH。 這樣,本地計算機上的Python將能夠看到遠程位置中存在的模塊。 您無法遠程直接從模塊導入,例如在html中指定js文件。
我相信您正在尋找一種分布式計算框架,您可以將代碼和數據部署到一個節點,並將它們作為任務分布在一組客戶端/服務器/對等體中。 檢查Pyro , execnet , Parallel Python , Jug和RPyC 。
可能值得注意的是,存在一個用於導入通過 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.