Comments (10)
I have never tried cython but it looks like the architecture setting is in
cefpython.pyd.manifest then compile .bat will create a new version.
I would try it myself but I don't have a dev environment currently setup in
windows.
Original comment by [email protected]
on 14 Nov 2012 at 10:52
from cefpython.
I've added "32-bit" to the description of downloads on the main page. All
current releases of cefpython are for 32-bit versions of python interpreter.
If you try to run 32-bit python module on a 64-bit version of python you will
get a "DLL load failed" error.
It shouldn't be a problem to create 64-bit releases of cefpython, I will
provide such for the next release. In the meantime consider using 32-bit
python, from what I know there isn't much advantage of using 64-bit python,
only that your application can use more than 4 GB of ram.
Original comment by [email protected]
on 14 Nov 2012 at 3:14
- Changed title: Provide releases for Python 64-bit
- Changed state: Accepted
from cefpython.
Original comment by [email protected]
on 14 Nov 2012 at 3:16
- Added labels: NextRelease
from cefpython.
First, thanks for the quick reply.
The only 'real' benefit to 64bit is higher memory address range, faster
floating point processing, a larger default int range, and faster processing of
large numbers (greater than 2^32). The downside being that memory addresses
require twice the space.
I focus mostly on 64bit in an effort to phase out 32bit development but have no
problems switching over to python x32 in the interim.
To keep the packaging simple wouldn't it be easier to include both x32 and x64
versions in a single release (as opposed to using two releases) since that's
the only architecture-specific dependency? Just my .02.
Thanks again.
Original comment by [email protected]
on 15 Nov 2012 at 12:18
from cefpython.
Not sure if this is useful.
The python architecture can easily be detected using the 'platform' module.
Just add 'import platform' and check it using 'platform.architecture()[0]'.
platform.architecture is actually a tuple containing 2 items. The second isn't
really relevant as it contains linkage info about the executable.
Here's the documentation:
http://docs.python.org/2/library/platform.html
One way to support both would be to add a conditional import:
{{{
if(platform.architecture()[0] == '32bit'):
import cefpython32 as cefpython
if(platform.architecture()[0] = '64bit'):
import cefpython64 as cefpython
else:
raise Exception("The architecture %s is not supported" % (platform.architecture()[0]))
}}}
Original comment by [email protected]
on 15 Nov 2012 at 2:07
from cefpython.
Hmm, that might work, we could also detect version of python in a similar way,
that way I would have to release only 1 binary zip with 4 versions of the pyd:
cefpython_py27_32bit.pyd
cefpython_py27_64bit.pyd
cefpython_py32_32bit.pyd
cefpython_py32_64bit.pyd
Thank you for the tip.
Original comment by [email protected]
on 15 Nov 2012 at 3:24
from cefpython.
Here's how you check the version:
sys.version returns a tuple containing 3 items. The major version number, the
minor version number, and the sub-minor version number.
{{{
# detect 2.7
if sys.version_info[:2] == (2, 7):
# detect 3+
if sys.version_info[:1] == (3):
}}}
It makes sense to package all variations together into one because the
platform-specific binaries only take up ~500KB each.
On the projects I work on, I usually only release scripts so I don't have to
deal with platform-specific issues but I realize what a pain it can be to deal
with.
Hopefully, this saves you some time in the future.
Original comment by [email protected]
on 15 Nov 2012 at 3:48
from cefpython.
I've already started making changes to cefpython to support 64-bit, but I have
a bad news. CEF dlls are 32-bit, we cannot load them using 64-bit python, as
32-bit and 64-bit dlls cannot be mixed. Version for 64-bit python would need a
separate release, because of different CEF dlls. Chromium on windows does not
compile to 64-bit as of the moment, mostly because V8 engine is not 64-bit
ready on windows:
http://www.chromium.org/developers/design-documents/64-bit-support
Currently we cannot support 64-bit python. I am closing this issue. When
chromium starts compiling to 64-bit I might reopen it.
Original comment by [email protected]
on 16 Nov 2012 at 2:49
- Changed state: WontFix
from cefpython.
Original comment by [email protected]
on 16 Nov 2012 at 2:49
- Removed labels: NextRelease
from cefpython.
Chromium supports 64-bit on Linux and OSX, for those platforms it is possible
to make 64-bit releases of cefpython.
Original comment by [email protected]
on 16 Nov 2012 at 2:53
from cefpython.
Related Issues (20)
- Mouse context menu and <select> control crash app on Mac HOT 3
- Create build_all.bat and build_all.sh scripts to build multiple binary distributions in just one step HOT 1
- Cookies not flushed to disk when closing app immediately (wxpython.py) HOT 7
- Provide a single same wxpython.py example for all plattforms (Win, Linux, Mac)
- Create a simple wxPython example (wxsimple.py)
- Copy (Cmd+C) and Paste (Cmd+V) do not work in text controls on Mac HOT 2
- Mac examples exit with error code 255 HOT 3
- The default en-US locale pak file fails to load on Mac HOT 3
- Examples crash on Mac when app doesn't have permission to write to the debug.log file
- Issues with size_t => int conversions when using cef_values.h API on Win x64 platform HOT 2
- Python Wheels - DESCRIPTION.rst UNKNOWN
- Embed __version__ also in the cython generated module (cefpython_py27.pyd) HOT 1
- Create unified key mappings for all platforms HOT 8
- Add Browser.IsDevTools() HOT 1
- Expose CreateBrowser() with a callback argument that will be executed after browser was created
- The popup window and parent window can't script each other in the wxpython.py example HOT 3
- Create "chrome31" branch before updating to a newer CEF branch
- wxpython-response.py example: final url is wrong when doing redirects HOT 7
- Close the browser BEFORE the page is full loaded CEF Crashe HOT 1
- Warnings on OS X: Internals of CFAllocator not known HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cefpython.