Python开发模块路径
在开发应用程序并在应用程序本地git clone目录下工作时,我设置了一个模块开发版本(在其git clone目录下)的链接。我这样做是为了在development dir中运行应用程序时调用模块的开发版本(通常是在同一时间开发的)。我只是为mymodule.py添加了一个.gitignore,这样就可以了 但我不喜欢这样。因此,我一直在试图找到一种方法,使mymodule.py从开发路径而不是安装发布版本的python模块路径中获取。任何人做这样的事情或有一个建议Python开发模块路径,python,git,Python,Git,在开发应用程序并在应用程序本地git clone目录下工作时,我设置了一个模块开发版本(在其git clone目录下)的链接。我这样做是为了在development dir中运行应用程序时调用模块的开发版本(通常是在同一时间开发的)。我只是为mymodule.py添加了一个.gitignore,这样就可以了 但我不喜欢这样。因此,我一直在试图找到一种方法,使mymodule.py从开发路径而不是安装发布版本的python模块路径中获取。任何人做这样的事情或有一个建议 dev/myapp/mya
dev/myapp/myapp -> import mymodule
-from here-
dev/mymodule/mymodule.py
-not here-
/usr/lib/python2.7/site-packages/mymodule.py
可以设置环境变量以指定不同位置的检入顺序。只需将开发版本放在第一位。您可以设置环境变量以指定不同位置的签入顺序。只需将开发版本放在第一位。只需使用
virtualenv
。谷歌
如果工作量太大,您也可以使用
virtualenvwrapper
,它可以更简单地管理您的virtualenv
s 只需使用virtualenv
。谷歌
如果工作量太大,您也可以使用
virtualenvwrapper
,它可以更简单地管理您的virtualenv
s 为了跟进@forival所说的内容,我相信virtualenv
会解决您的问题
您可以创建一个开发环境,并在其中安装所有依赖项。这将使您不必手动操作python路径
virtualenv/path/to/env/
-将创建一个新的envsource/path/to/env/bin/activate
现在您正在使用一个单独的干净python环境。您可以直接从git签出依赖项并使用
pip
安装它们!!!如果使用settuptools,您可以创建一个开发鸡蛋。为了跟进@forivall所说的内容,我相信virtualenv
将解决您的问题
您可以创建一个开发环境,并在其中安装所有依赖项。这将使您不必手动操作python路径
virtualenv/path/to/env/
-将创建一个新的envsource/path/to/env/bin/activate
现在您正在使用一个单独的干净python环境。您可以直接从git签出依赖项并使用
pip
安装它们!!!如果使用settuptools,您可以创建一个开发鸡蛋。我只是通读了一遍,不知道它是如何工作的?你有一个例子吗?我发现了这个,这是一个很好的演练,我只是通读了一遍,我不知道这是怎么回事?你们有一个例子吗?我发现了这个,这是一个很好的演示,所以你们只需要在开发时调整PYTHONPATH?我不希望这是一个全局PYTHONPATH,因为如果应用程序在development dir之外运行,我希望安装的模块版本能够运行。您可以同时执行PYTHONPATH=BLAH python somefile.py
。我通常会让我的makefile为我设置,然后我会做一些像“makedev”之类的事情来启动dev环境virtualenv
听起来也是一个不错的答案。所以您在开发时只需调整PYTHONPATH?我不希望这是一个全局PYTHONPATH,因为如果应用程序在development dir之外运行,我希望安装的模块版本能够运行。您可以同时执行PYTHONPATH=BLAH python somefile.py
。我通常会让我的makefile为我设置,然后我会做一些像“makedev”之类的事情来启动dev环境virtualenv
听起来也是个不错的答案。因此,这在目录中设置了一个virtualenv say myvs。/myvs这是一个很酷的起点。但是有没有一种方法可以将dir添加到这个virtualenv的路径中呢?当你使用sys.PATH.append
时,它应该添加到你激活的virtualenv的路径中,而不是你的系统python安装。就像我对@forivall wow说的,我喜欢virtualenv,我现在正在这个应用程序开发中使用它。然而,您的sys.path.append让我思考了一下,我最终只使用了一个'if os.path.basename(os.getcwd())==PrgName:sys.path.insert(0,DevPathToMyModule),在导入mymode调用之前,您可以运行settuptools
?为您的项目创建一个setup.py
文件非常容易,这将允许您运行python setup.py develope
,它会自动创建应用程序的开发版本并将其放在pythonpath上,无需手动操作pythonpath,因此这将在目录中设置一个virtualenv,比如myvs./myvs,这是一个很酷的起点。但是有没有一种方法可以将dir添加到这个virtualenv的路径中呢?当你使用sys.PATH.append
时,它应该添加到你激活的virtualenv的路径中,而不是你的系统python安装。就像我对@forivall wow说的,我喜欢virtualenv,我现在正在这个应用程序开发中使用它。然而,您的sys.path.append让我思考了一下,我最终只使用了一个'if os.path.basename(os.getcwd())==PrgName:sys.path.insert(0,DevPathToMyModule),在导入mymode调用之前,您可以运行settuptools
?为您的项目创建setup.py
文件非常容易,这将允许您运行python setup.py develope
,它自动创建应用程序的开发版本并将其放在pythonpath上,而无需手动操作pythonpath