我是一个超级小组,在这里,在这里,所以请你好!我想写一个公式的项目用于认知心理学研究的背景下;它可能会因为用户群非常狭窄而看到一个非常广泛的分布;到目前为止,我一直在为每个人的计算机手动安装这个。但它终于得到充分利用,这已不再适用。
唯一的' Ruby'我知道的是写SCSS / Sass,所以我大多只是复制并粘贴成功的方式。
在坚果壳中,我试图通过Homebrew分发我已经工作了一段时间的项目。它包括:
我理解:
我不明白:
值得注意的是,我的实验室使用的是Python系统。我并不反对在brew安装的Python版本中运行(确实我更喜欢它),但是,安装不能导致系统Python到停止作为命令行使用的默认版本,主要是因为预期的用户群(即熟练程度非常低的编码器)如果他们执行程序的记忆例程失败并且我无法保证他们能够避开,那么他们会感到恐慌和逃离。 ; t安装在系统site-packages目录中的东西(抱歉)。
如果其中任何一项不清楚,无论如何向我提出问题,我将很乐意澄清。
Here's指向Git存储库的链接,用于引用项目的目录结构。
到目前为止,我的剧本并不是很大,就我而言:
class Klibs < Formula
desc ""
homepage ""
url "https://github.com/jmwmulle/klibs/archive/0.9.1.4.tar.gz"
version "0.9.1.4"
# sha256 is wrong; just been editing the local cache while I learn how to do this properly :S
# (in case anyone tries to brew create the repository and notices)
sha256 "d854b85fc6fae58a9f6d046c206a73ac8c5948e89740cd55c02450e1ba9af0e0"
depends_on :python if MacOS.version <= :snow_leopard
depends_on "sdl2" => :required
# bunch of other brewable dependencies
resource "PySDL2" do
url "https://pypi.python.org/packages/source/P/PySDL2/PySDL2-0.9.3.zip"
sha1 "030f2351d1da387f878e14c8a86e08571d7baf5b"
end
# ...bunch of other python modules
resource "AggDraw" do # note that this one's not hosted by PyPi
url "https://github.com/preo/aggdraw.git"
sha1 "92e5e75aaaf5c535735d974764472e7e4d8e5cb0"
end
def install
resource("PySDL2").stage { system "python", *Language::Python.setup_install_args(libexec/"vendor") }
# and, again, more python modules
cd "klibs" do
ENV.prepend_create_path "PYTHONPATH", libexec/"lib/python2.7/site-packages"
cd "lib/pylink" do
cd "frameworks/eyelink" do
frameworks.install("eyelink_core_graphics.framework")
frameworks.install("eyelink_core.framework")
end
# this next part I *know* must be wrong, I'm just not sure how to achieve
# this the homebrew way and thought I'd at least demonstrate what
# I need to do; this is a pre-compiled, third-party python module
# that is not distributed by any other means
system "cp", "-r", "pylink", "#{libexec}/lib/python2.7/site-packages"
system "ln", "-s", "#{libexec}/lib/python2.7/site-packages/pylink"
end
system "python", "setup.py", "install", "--prefix=#{prefix}"
end
bin.install("bin/klibs")
lib.install("lib/klibs")
end
test do
system "false"
end
end
答案 0 :(得分:1)
嗯,homebrew
不是打包和分发代码的最佳媒介(仅限OSX)。
您可能希望查看:http://python-packaging-user-guide.readthedocs.org/en/latest/distributing/。取决于您编写代码的方式;你或许可以把你的requirements directly in your setup.py
放在自制的食谱中。
对于您使用的不在PyPI上的软件包;问自己以下问题:
如果您正在管理一个机器场:
chef
,puppet
,salt
,ansible
,... 如果您只关心分发:
setuptools
+ virtualenv
+ pip
是一个很好的组合。pip
能够从PyPI,github,文件服务器......安装需求。