我正在尝试编写一个python脚本,我可以很容易地导出到没有依赖性问题的朋友,但我不知道该怎么做。具体来说,我的脚本依赖于BeautifulSoup的代码,但我不想强迫朋友必须安装BeautifulSoup,我宁愿将BeautifulSoup的src打包到我的项目文件中的Libraries /文件夹中,并从那里调用函数。但是,我不能简单地“导入bs4”。解决这个问题的正确方法是什么?
谢谢!
答案 0 :(得分:4)
一种常见的方法是将requirements file与项目一起发送,指定需要哪个版本的库。这个文件(按照惯例)通常命名为requirements.txt
,看起来像这样:
MyApp
BeautifulSoup==3.2.1
SomeOtherLib==0.9.4
YetAnother>=0.2
(上面的虚构文件说:我需要BeautifulSoup 3.2.1,SomeOtherLib 0.9.4以及任何版本的YetAnother大于或等于0.2)。
然后这个项目的用户可以简单地带你到你的库,(创建一个virtualenv)然后运行
$ pip install -r requirements.txt
然后将获取所有库并使它们在整个系统范围内可用(如果使用virtualenv)。这是一个关于github的随机python项目,有一个需求文件:
这种方法的好处在于,您将自动解决传递依赖关系。此外,如果您使用virtualenv,您将清楚地分离您的项目并避免库版本冲突。
答案 1 :(得分:1)
在尝试导入其下的任何内容之前,您必须add Libraries/
(converted to an absolute path first) to sys.path
。