我计划在Python中实现一些功能,以用作更大的非Python项目的一部分,以便利用一些Python库。我以前在Python中做了一些脚本,但没有什么实质性的。
从我得到的建议来看,我们肯定希望使用虚拟环境来管理依赖关系。我正在探索venv和conda并且尚未承诺,但似乎conda将具有提供预构建版本的Cython依赖项的优势。
然而,对于conda和venv,我发现的文档似乎都是为了在环境中以交互方式工作。出于我们的目的,我希望能够以编程方式运行我们用Python编写的程序,而无需通过系统shell。是否有既定的,推荐的方法来做到这一点?
我一直在试图查看激活虚拟环境的Bash脚本实际上做了什么,看起来它们基本上只是设置了一些环境变量。两者都将其虚拟环境的bin
目录添加到PATH
的开头,venv集VIRTUAL_ENV
,并且conda设置了一堆CONDA_
个环境变量。有趣的是,它看起来不像是PYTHONPATH
。
对于程序化使用,设置这些环境变量然后运行等效的python3 -m mymodule
就足够了,还是需要进行更多设置?我特别想知道这是否记录在任何地方,对于conda,venv或两者:依赖于已经弄清楚需要将哪些环境变量设置为哪些值看起来有点脆弱。