Git Product home page Git Product logo

Comments (10)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024

Original comment by [email protected] on 14 Nov 2012 at 3:16

  • Added labels: NextRelease

from cefpython.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024

Original comment by [email protected] on 16 Nov 2012 at 2:49

  • Removed labels: NextRelease

from cefpython.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 23, 2024
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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.