mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-27 21:39:15 +00:00
3d7454cf48
- Bug 1208554 - Take Velocity into account for WheelScrollAnimations. r=kats (2fe3c0e047)
- Bug 1207656: APZ mouse wheel scroll: don't ignore minimum duration. r=dvander (c195a2b7e2)
- Bug 1199468 - Create prefs for the smooth scroll timing function shape. r=kats (f65176f9b1)
- Bug 1247677 - Add support for the general.smoothScroll.{pages,pixels} prefs in APZ. r=dvander (e56a15b294)
- Bug 1244735 - Preference to override the default behaviour for partial present. r=jrmuizel (a0e19e8a8e)
- Bug 1242228 - Upgrade virtualenv to 14.0.1; r=mshal (633b8cc3a0)
- Bug 1223144 - Scale texture coordinates in CompositorOGL for non POT textures. r=mwoodrow (a4b654b00a)
- set reporter end (09ddff0c78)
- Add full mix-blend mode support to the D3D11 compositor. (bug 1238496, r=bas) (6ef3e68cbf)
- Bug 1235994 - For wheel events which may have momentum following them, handle scroll snapping in APZ. r=mstange (b9837185ea)
- Bug 1230674 - part 4, Update AsyncPanZoomController to call overscroll api when building for Android r=kats (60d551820d)
- Bug 1235994 - Extract a helper function to request a snap to the predicted destination. r=botond (c4436d3c5e)
- Bug 1243547 - Route scroll position adjusting for surface shifting directly to APZC. r=rbarker (3b86ab8f2f)
- Bug 1192919 - Follow-up to fix build error with logging enabled. r=me and DONTBUILD (f29229d6c4)
- Bug 1242173 - Typing in input fields does not visually update r= (a2ef65d735)
- Bug 1244901 - When recording transform duration for potential checkerboarding time, do so on the compositor thread. r=botond (cf0be4b328)
- Bug 1240202 - Avoid getting stuck in overscroll when a second finger goes down while overscrolled and in the TOUCHING state. r=kats (96c7ef87af)
- Bug 1195182 - Fixed broken AUR link for uuid; r=gps (f5613aa781)
- Bug 1114718 - Make |mach bootstrap| support 'mobile/android' builds on Arch Linux. r=mcomella (36e696f2d1)
- Bug 1220480 - Reference proper variable in Arch Linux bootstrapper; rgps (ad14798f3f)
- Bug 1217039 - Created a function android_ndk_url() in android.py and used it in all other sub-modules to calculate the URL. r=mshal (71ef4fcfaf)
- Bug 1227600 - Fix |mach bootstrap| bustage on Mac OS X. r=me,gps (8e8bb2bb46)
- Bug 1246033 - Reference unambiguous git package on Gentoo; r=mshal (6c8c17c1a5)
- Bug 1236519 - Ensure JSFunction::isDerivedClassConstructor properly handles lazy self-hosted functions. r=till a=bustage (236b72dd50)
- Bug 1232229 - Add some instrumentation and more fencing to ArenaLists; r=ehoogeveen (f6595958c6)
- Bug 1232229 - Instrument setting ArenaHeader::next to catch misuse and fix existing instrumentation. r=terrence (68377d13b7)
- Bug 1248949 - Optimize Arena::thingsPerArena. r=terrence (ee28f3a6af)
- Bug 1245965 - Fix and OOM handling failure in NewMemInfoObject; r=sfink (29e684a163)
- Bug 1245518 - Implement ModuleEnvironmentObject::getOwnPropertyDescriptor() which is called by the debugger r=shu (cef4dc6fce)
- Bug 1232113 - "Make the format specifiers in JS_snprintf() invocations more portable". r=jwalden+bmo (cdf8a9915f)
- Bug 1234387 - DumpBacktrace: Check the result of Sprinter::init function. r=bbouvier (3b7f6aac37)
- Bug 1233944 - Upgrade MOZ_ASSERT to MOZ_RELEASE_ASSERT in JSObject::setGroup. r=me (75e7aa92dc)
- Bug 1203696: Make js::IsInternalFunctionObject consider non-lambdas internal. r=bhackett (1531e8ecd9)
- Bug 1235641 - Add line and column info to dump bytecode basic blocks. r=sstangl (0f642867a0)
- Bug 1052793, part 1 - Do per-zone GC for CC_WAITING triggers. r=smaug (b733898730)
- Bug 1052793, part 2 - Shrink GC buffers during compartmental GCs. r=terrence (0e4cd6218e)
- Bug 1237169 - Remove some unused parameters in and around xpcom/base/. r=mccr8. (9a08690fa7)
- Bug 1247122 - Propagate the NS_ERROR_OUT_OF_MEMORY from CycleCollectedJSRuntime CTOR, r=khuey (5e8bd1d14b)
- Bug 1200514 - Run remaining stable state runnables after final cycle collection. r=froydnj,mccr8 (410c3bf2ad)
- Bug 1247381 - Restore a CC optimization dropped in bug 1105069 part 7; r=mccr8 (c76e8613e7)
- Bug 1249932 - indicate in the GC and CC log (browser console) whetherit is about default or content process, r=mccr8 (1d89d18e69)
- Bug 1232113 - "Make the format specifiers in JS_snprintf() invocations more portable". r=jandem (d9a480c28c)
- Bug 1223222 - Part 1: Add NSPRLogModulesParser. r=froydnj (2a79976e1f)
- Bug 1223222 - Part 2: Add tests for NSPRLogModulesParser. r=froydnj (bde482099c)
- Bug 1233881 - Support dynamically setting log levels at runtime via prefs. r=froydnj (c5c685f924)
- Bug 1223222 - Part 3: Remove usage of PR_NewLogModule in mozilla LogModule code. r=froydnj (6eee38c6a7)
- Bug 1150917 - Remove all values from nsIProgrammingLanguage except UNKNOWN and JAVASCRIPT. r=froydnj (9626abcc33)
- Bug 1174972 - Add basic mozilla logging backend. r=froydnj,r=bwc,r=jduell (8e22fb5a66)
- Bug 961430 - Allow pid be added to the log file name automatically. r=froydnj (4d28e09d9a)
- Bug 1239212 - Append missing newlines to log messages. r=froydnj (0a94f048f0)
- Bug 1242097 - Support sync module for logging (r=erahm) (ce3648c763)
- Bug 885952 - Add thread name to MozLogging, r=froydnj (94bb1979e2)
- Bug 1239941 - Copy va_list before using it in LogModuleManager::Print. r=froydnj (0767e1900e)
- Bug 1249451 - nsCycleCollector::ScanRoots may cause some unexpected purple buffer usage, r=mccr8 (96591fa1a1)
- Bug 1237169 (follow-up) - Fix static analysis bustage. r=me. (3e177f98cc)
- Bug 1242151: using va_list needs <stdarg.h> at least on OpenBSD r=erahm (7c36e9191c)
- Bug 1226376 - Part 1: Allow non-trivial constexpr constructors in MOZ_TRIVIAL_CTOR_DTOR classes, r=ehsan (ec1fb5cc1d)
- Bug 1226376 - Part 2: Annotate StaticMutex with MOZ_ONLY_USED_TO_AVOID_STATIC_CONSTRUCTORS, r=nfroyd (484904f38a)
- Bug 1223927 - Add resident-unique measurement to OS X. r=njn (4b97965c38)
- Bug 1224685 - Add |resident-unique| measurement to Windows. r=njn (bde0a2fbed)
- Bug 1239516 - Use nsDependentCSubstring for wrapping a slice of a char buffer. r=karlt (bd62aee33a)
- bug 1245745 include libpulse version in update URL r=glandium (74f389b1c7)
- Bug 1245673 - Remove useless NS_INT32_TO_PTR from DumpSerialNumbers. r=froydnj (16d58e9abd)
- Bug 1243949 - Fatally assert when we fail to create an XPCOM log. r=froydnj (9121c52fed)
- Remove the workaround added in bug 1022420 now that clang-cl understands __declspec(novtable) (fc81af6630)
- Bug 1239888 - Inline PLDHashTable::{Done,Get}(). r=froydnjx. (9faa5b7c2a)
- Bug 1244606 - Remove PL_DHASH_FASTCALL. r=froydnj. (6620b7c82e)
- Bug 1159306 - explicitly initialize nsBaseHashtableET::mData; r=erahm (458559bea7)
- Bug 1220544 - Fix -Wunreachable-code warnings in xpcom. r=mccr8 (371d0809e4)
- reapply Bug 833117 - Replace g_slice_set_config() with G_SLICE environmen variable (c47805a6cf)
- bug 1171574 - XPCOMGlue doesn't need LEADING_UNDERSCORE for iOS. r=froydnj (a4472ef3d3)
257 lines
10 KiB
ReStructuredText
257 lines
10 KiB
ReStructuredText
User Guide
|
|
==========
|
|
|
|
|
|
Usage
|
|
-----
|
|
|
|
Virtualenv has one basic command::
|
|
|
|
$ virtualenv ENV
|
|
|
|
Where ``ENV`` is a directory to place the new virtual environment. It has
|
|
a number of usual effects (modifiable by many :ref:`options`):
|
|
|
|
- :file:`ENV/lib/` and :file:`ENV/include/` are created, containing supporting
|
|
library files for a new virtualenv python. Packages installed in this
|
|
environment will live under :file:`ENV/lib/pythonX.X/site-packages/`.
|
|
|
|
- :file:`ENV/bin` is created, where executables live - noticeably a new
|
|
:command:`python`. Thus running a script with ``#! /path/to/ENV/bin/python``
|
|
would run that script under this virtualenv's python.
|
|
|
|
- The crucial packages pip_ and setuptools_ are installed, which allow other
|
|
packages to be easily installed to the environment. This associated pip
|
|
can be run from :file:`ENV/bin/pip`.
|
|
|
|
The python in your new virtualenv is effectively isolated from the python that
|
|
was used to create it.
|
|
|
|
.. _pip: https://pypi.python.org/pypi/pip
|
|
.. _setuptools: https://pypi.python.org/pypi/setuptools
|
|
|
|
|
|
.. _activate:
|
|
|
|
activate script
|
|
~~~~~~~~~~~~~~~
|
|
|
|
In a newly created virtualenv there will also be a :command:`activate` shell
|
|
script. For Windows systems, activation scripts are provided for
|
|
the Command Prompt and Powershell.
|
|
|
|
On Posix systems, this resides in :file:`/ENV/bin/`, so you can run::
|
|
|
|
$ source bin/activate
|
|
|
|
For some shells (e.g. the original Bourne Shell) you may need to use the
|
|
:command:`.` command, when :command:`source` does not exist.
|
|
|
|
This will change your ``$PATH`` so its first entry is the virtualenv's
|
|
``bin/`` directory. (You have to use ``source`` because it changes your
|
|
shell environment in-place.) This is all it does; it's purely a
|
|
convenience. If you directly run a script or the python interpreter
|
|
from the virtualenv's ``bin/`` directory (e.g. ``path/to/ENV/bin/pip``
|
|
or ``/path/to/ENV/bin/python-script.py``) there's no need for
|
|
activation.
|
|
|
|
The ``activate`` script will also modify your shell prompt to indicate
|
|
which environment is currently active. To disable this behaviour, see
|
|
:envvar:`VIRTUAL_ENV_DISABLE_PROMPT`.
|
|
|
|
To undo these changes to your path (and prompt), just run::
|
|
|
|
$ deactivate
|
|
|
|
On Windows, the equivalent `activate` script is in the ``Scripts`` folder::
|
|
|
|
> \path\to\env\Scripts\activate
|
|
|
|
And type ``deactivate`` to undo the changes.
|
|
|
|
Based on your active shell (CMD.exe or Powershell.exe), Windows will use
|
|
either activate.bat or activate.ps1 (as appropriate) to activate the
|
|
virtual environment. If using Powershell, see the notes about code signing
|
|
below.
|
|
|
|
.. note::
|
|
|
|
If using Powershell, the ``activate`` script is subject to the
|
|
`execution policies`_ on the system. By default on Windows 7, the system's
|
|
excution policy is set to ``Restricted``, meaning no scripts like the
|
|
``activate`` script are allowed to be executed. But that can't stop us
|
|
from changing that slightly to allow it to be executed.
|
|
|
|
In order to use the script, you can relax your system's execution
|
|
policy to ``AllSigned``, meaning all scripts on the system must be
|
|
digitally signed to be executed. Since the virtualenv activation
|
|
script is signed by one of the authors (Jannis Leidel) this level of
|
|
the execution policy suffices. As an administrator run::
|
|
|
|
PS C:\> Set-ExecutionPolicy AllSigned
|
|
|
|
Then you'll be asked to trust the signer, when executing the script.
|
|
You will be prompted with the following::
|
|
|
|
PS C:\> virtualenv .\foo
|
|
New python executable in C:\foo\Scripts\python.exe
|
|
Installing setuptools................done.
|
|
Installing pip...................done.
|
|
PS C:\> .\foo\scripts\activate
|
|
|
|
Do you want to run software from this untrusted publisher?
|
|
File C:\foo\scripts\activate.ps1 is published by E=jannis@leidel.info,
|
|
CN=Jannis Leidel, L=Berlin, S=Berlin, C=DE, Description=581796-Gh7xfJxkxQSIO4E0
|
|
and is not trusted on your system. Only run scripts from trusted publishers.
|
|
[V] Never run [D] Do not run [R] Run once [A] Always run [?] Help
|
|
(default is "D"):A
|
|
(foo) PS C:\>
|
|
|
|
If you select ``[A] Always Run``, the certificate will be added to the
|
|
Trusted Publishers of your user account, and will be trusted in this
|
|
user's context henceforth. If you select ``[R] Run Once``, the script will
|
|
be run, but you will be prometed on a subsequent invocation. Advanced users
|
|
can add the signer's certificate to the Trusted Publishers of the Computer
|
|
account to apply to all users (though this technique is out of scope of this
|
|
document).
|
|
|
|
Alternatively, you may relax the system execution policy to allow running
|
|
of local scripts without verifying the code signature using the following::
|
|
|
|
PS C:\> Set-ExecutionPolicy RemoteSigned
|
|
|
|
Since the ``activate.ps1`` script is generated locally for each virtualenv,
|
|
it is not considered a remote script and can then be executed.
|
|
|
|
.. _`execution policies`: http://technet.microsoft.com/en-us/library/dd347641.aspx
|
|
|
|
Removing an Environment
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Removing a virtual environment is simply done by deactivating it and deleting the
|
|
environment folder with all its contents::
|
|
|
|
(ENV)$ deactivate
|
|
$ rm -r /path/to/ENV
|
|
|
|
The :option:`--system-site-packages` Option
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
If you build with ``virtualenv --system-site-packages ENV``, your virtual
|
|
environment will inherit packages from ``/usr/lib/python2.7/site-packages``
|
|
(or wherever your global site-packages directory is).
|
|
|
|
This can be used if you have control over the global site-packages directory,
|
|
and you want to depend on the packages there. If you want isolation from the
|
|
global system, do not use this flag.
|
|
|
|
Windows Notes
|
|
~~~~~~~~~~~~~
|
|
|
|
Some paths within the virtualenv are slightly different on Windows: scripts and
|
|
executables on Windows go in ``ENV\Scripts\`` instead of ``ENV/bin/`` and
|
|
libraries go in ``ENV\Lib\`` rather than ``ENV/lib/``.
|
|
|
|
To create a virtualenv under a path with spaces in it on Windows, you'll need
|
|
the `win32api <http://sourceforge.net/projects/pywin32/>`_ library installed.
|
|
|
|
|
|
Using Virtualenv without ``bin/python``
|
|
---------------------------------------
|
|
|
|
Sometimes you can't or don't want to use the Python interpreter
|
|
created by the virtualenv. For instance, in a `mod_python
|
|
<http://www.modpython.org/>`_ or `mod_wsgi <http://www.modwsgi.org/>`_
|
|
environment, there is only one interpreter.
|
|
|
|
Luckily, it's easy. You must use the custom Python interpreter to
|
|
*install* libraries. But to *use* libraries, you just have to be sure
|
|
the path is correct. A script is available to correct the path. You
|
|
can setup the environment like::
|
|
|
|
activate_this = '/path/to/env/bin/activate_this.py'
|
|
execfile(activate_this, dict(__file__=activate_this))
|
|
|
|
This will change ``sys.path`` and even change ``sys.prefix``, but also allow
|
|
you to use an existing interpreter. Items in your environment will show up
|
|
first on ``sys.path``, before global items. However, global items will
|
|
always be accessible (as if the :option:`--system-site-packages` flag had been
|
|
used in creating the environment, whether it was or not). Also, this cannot undo
|
|
the activation of other environments, or modules that have been imported.
|
|
You shouldn't try to, for instance, activate an environment before a web
|
|
request; you should activate *one* environment as early as possible, and not
|
|
do it again in that process.
|
|
|
|
Making Environments Relocatable
|
|
-------------------------------
|
|
|
|
**Note:** this option is somewhat experimental, and there are probably
|
|
caveats that have not yet been identified.
|
|
|
|
.. warning::
|
|
|
|
The ``--relocatable`` option currently has a number of issues,
|
|
and is not guaranteed to work in all circumstances. It is possible
|
|
that the option will be deprecated in a future version of ``virtualenv``.
|
|
|
|
Normally environments are tied to a specific path. That means that
|
|
you cannot move an environment around or copy it to another computer.
|
|
You can fix up an environment to make it relocatable with the
|
|
command::
|
|
|
|
$ virtualenv --relocatable ENV
|
|
|
|
This will make some of the files created by setuptools use relative paths,
|
|
and will change all the scripts to use ``activate_this.py`` instead of using
|
|
the location of the Python interpreter to select the environment.
|
|
|
|
**Note:** scripts which have been made relocatable will only work if
|
|
the virtualenv is activated, specifically the python executable from
|
|
the virtualenv must be the first one on the system PATH. Also note that
|
|
the activate scripts are not currently made relocatable by
|
|
``virtualenv --relocatable``.
|
|
|
|
**Note:** you must run this after you've installed *any* packages into
|
|
the environment. If you make an environment relocatable, then
|
|
install a new package, you must run ``virtualenv --relocatable``
|
|
again.
|
|
|
|
Also, this **does not make your packages cross-platform**. You can
|
|
move the directory around, but it can only be used on other similar
|
|
computers. Some known environmental differences that can cause
|
|
incompatibilities: a different version of Python, when one platform
|
|
uses UCS2 for its internal unicode representation and another uses
|
|
UCS4 (a compile-time option), obvious platform changes like Windows
|
|
vs. Linux, or Intel vs. ARM, and if you have libraries that bind to C
|
|
libraries on the system, if those C libraries are located somewhere
|
|
different (either different versions, or a different filesystem
|
|
layout).
|
|
|
|
If you use this flag to create an environment, currently, the
|
|
:option:`--system-site-packages` option will be implied.
|
|
|
|
The :option:`--extra-search-dir` option
|
|
---------------------------------------
|
|
|
|
This option allows you to provide your own versions of setuptools and/or
|
|
pip to use instead of the embedded versions that come with virtualenv.
|
|
|
|
To use this feature, pass one or more ``--extra-search-dir`` options to
|
|
virtualenv like this::
|
|
|
|
$ virtualenv --extra-search-dir=/path/to/distributions ENV
|
|
|
|
The ``/path/to/distributions`` path should point to a directory that contains
|
|
setuptools and/or pip wheels.
|
|
|
|
virtualenv will look for wheels in the specified directories, but will use
|
|
pip's standard algorithm for selecting the wheel to install, which looks for
|
|
the latest compatible wheel.
|
|
|
|
As well as the extra directories, the search order includes:
|
|
|
|
#. The ``virtualenv_support`` directory relative to virtualenv.py
|
|
#. The directory where virtualenv.py is located.
|
|
#. The current directory.
|
|
|