Skip to content

Commit 7209f7b

Browse files
committed
readme: Add more verbose instructions to install from source
1 parent b06e5ac commit 7209f7b

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

README.rst

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@ If installing alongside another CWL implementation then::
3535

3636
pip install cwltool
3737

38-
To install from source::
38+
To install from source
3939

40-
git clone https://github.com/common-workflow-language/cwltool.git
41-
cd cwltool && python setup.py install
42-
cd cwlref-runner && python setup.py install # co-installing? skip this
40+
#. Install virtualenv via pip: ``pip install virtualenv``
41+
#. Clone the cwltool: ``git clone https://github.com/common-workflow-language/cwltool.git``
42+
#. Switch to cwltool directory: ``cd cwltool``
43+
#. Create a virtual environment: ``virtualenv -p python2 venv``, use ``python3`` if you want to use in Python 3 runtime.
44+
#. To begin using the virtual environment, it needs to be activated: ``source venv/bin/activate``
45+
#. Install cwltool in the virtual environment: ``pip install .``
46+
#. Check the version and make sure cwltool is invoked correctly: ``cwltool --version``
4347

4448
Remember, if co-installing multiple CWL implementations then you need to
4549
maintain which implementation ``cwl-runner`` points to via a symbolic file
@@ -191,7 +195,7 @@ available for each are documented (incompletely) `here
191195
Unfortunately, this documentation is in the context of Galaxy tool ``requirement`` s instead of CWL ``SoftwareRequirement`` s, but the concepts map fairly directly.
192196

193197
cwltool is distributed with an example of such seqtk tool and sample corresponding
194-
job. It could executed from the cwltool root using a dependency resolvers
198+
job. It could executed from the cwltool root using a dependency resolvers
195199
configuration file such as the above one using the command::
196200

197201
cwltool --beta-dependency-resolvers-configuration /path/to/dependency-resolvers-conf.yml \
@@ -208,8 +212,8 @@ the same concepts - the resolver plugin type ``galaxy_packages`` can be used.
208212
"Galaxy packages" are a lighter weight alternative to Environment Modules that are
209213
really just defined by a way to lay out directories into packages and versions
210214
to find little scripts that are sourced to modify the environment. They have
211-
been used for years in Galaxy community to adapt Galaxy tools to cluster
212-
environments but require neither knowledge of Galaxy nor any special tools to
215+
been used for years in Galaxy community to adapt Galaxy tools to cluster
216+
environments but require neither knowledge of Galaxy nor any special tools to
213217
setup. These should work just fine for CWL tools.
214218

215219
The cwltool source code repository's test directory is setup with a very simple
@@ -238,7 +242,7 @@ Then cwltool will simply find that ``env.sh`` file and source it before executin
238242
the corresponding tool. That ``env.sh`` script is only responsible for modifying
239243
the job's ``PATH`` to add the required binaries.
240244

241-
This is a full example that works since resolving "Galaxy packages" has no
245+
This is a full example that works since resolving "Galaxy packages" has no
242246
external requirements. Try it out by executing the following command from cwltool's
243247
root directory::
244248

@@ -302,7 +306,7 @@ user, install its own Conda environment and manage multiple versions of Conda pa
302306
on both Linux and Mac OS X.
303307

304308
The Conda plugin can be endlessly configured, but a sensible set of defaults
305-
that has proven a powerful stack for dependency management within the Galaxy tool
309+
that has proven a powerful stack for dependency management within the Galaxy tool
306310
development ecosystem can be enabled by simply passing cwltool the
307311
``--beta-conda-dependencies`` flag.
308312

0 commit comments

Comments
 (0)