Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
Bitcoin Nears Last Growth Phase
Bitcoin approaches final growth stage per the Wyckoff method, analyst Ali Martinez notes a potential peak at $200,000. More details on the Wyckoff method and trading here: applied trading. Paradigm calls for Ethereum to focus on scaling and aims for at least one major update yearly without changing gas limits.
#Bitcoin#Wyckoff#Crypto#Ethereum#Paradigm#DeFi#VC
Funding Boost for D3's Blockchain Launch
Domain registration startup D3 secures $25M funding led by Paradigm, with participation from Coinbase Ventures. Funds will support upcoming launch of the Doma blockchain. Read more here.
#Blockchain#Funding#Crypto#DomainRegistration#D3#Paradigm#CoinbaseVentures#TechNews#Startups#Investments#DeFi#Web3#Infrastructure#Innovation#VentureCapital#Doma
🚀 Paradigm CEO Highlights Gen Z's Impact on Crypto Innovation
Paradigm, a crypto investment firm managing approximately $12 billion, is led by co-founder and CEO Matt Huang. According to Odaily, Huang acknowledges that while Gen Z employees can sometimes create chaos, their creativity and technological breakthroughs are impressive. He remains committed to investing in young talent, citing the example of Charlie Noyes, who joined Paradigm at 19 after dropping out of MIT. Noyes played a crucial role in MEV research and Flashbots investment, contributing significantly to the Ethereum ecosystem. Huang likens the Paradigm team to running an 'X-Men Academy,' noting that despite the unpredictability of young employees, their technical skills and innovation often surpass those of traditional professionals.
#GenZ#CryptoInnovation#Paradigm#MattHuang#Ethereum#MEV#Flashbots#Investment#YoungTalent#TechBreakthroughs#XMenAcademy#ETH
Aptos Accuses Monad of Code Theft
Aptos research director Alexander Spiegelman has accused Monad of plagiarizing Aptos' open-source code. Monad co-founder James Hunsaker denied these claims, stating that BlockSTM is an extension and that no Aptos code has been utilized. Meanwhile, Monad recently secured $225M funding led by Paradigm, reaching a $3B valuation.
More details: Wu Blockchain News
#Aptos#Monad#Blockchain#Investing#Funding#Paradigm#SOL#Ethereum#DeFi#Crypto#VC#Tech#Innovation#OpenSource#FundingRound#Inflation#Protocols#Development#DEX#SecondSwap
Monad Ecosystem's Rising Interest
The Monad blockchain ecosystem is gaining attention ahead of its launch, focusing on community engagement and innovative projects. Key highlights include:
- Event: Demo day showcased 20 projects, co-hosted by Paradigm with a $750k prize pool.
- Projects: Noteworthy initiatives included:
- Kizzy: A mobile betting platform based on Twitter events.
- Sparkball: A team strategy game soon on Steam.
- LootGO: A Walk2Earn project, previously overlooked.
- Pulse: A health-monitoring bracelet securing $1.8M funding.
- Community and Hype: Founders cite strong community support as a major attractor to Monad.
- Future Vision: Excitement surrounds Monad’s upcoming testnet and potential partnerships with platforms like TON.
#Blockchain#Monad#Crypto#Web3#Gaming#Social#Fundraising#EVMcompatible#Paradigm#DemoDay#Kizzy#Sparkball#LootGO#Pulse#NEOWIZ#Ethereum#Funding#TokenLaunch#Community#Hype