20tab / unrealenginepython Goto Github PK
View Code? Open in Web Editor NEWEmbed Python in Unreal Engine 4
License: MIT License
Embed Python in Unreal Engine 4
License: MIT License
PyUnicode_Check will not catch cases where strings are used in python 2.7. An example of the issue can be seen here:
PyUnicode_Check will always be false due to python 2.7 passing in strings. PyString_Check which is only available in Python < 3 will also need to be used in these cases.
First of all, thanks for this awesome project. I'm very excited to play with it. I am getting a compile error when trying to build (relevant Visual Studio error shown below).
I notice that this is very actively developed. Is there a particular stable version I should be using?
I tried commit 3646583 and got the error below.
Thanks again,
-Emin
C:\Users\Emin\Documents\Unreal Projects\GPMProto\Plugins\UnrealEnginePython\Source\UnrealEnginePython\Public\PyCommandlet.cpp(31): error C2440: 'initializing': cannot convert from 'initializer list' to 'TArray<FString,FDefaultAllocator>'
2> C:\Users\Emin\Documents\Unreal Projects\GPMProto\Plugins\UnrealEnginePython\Source\UnrealEnginePython\Public\PyCommandlet.cpp(31): note: No constructor could take the source type, or constructor overload resolution was ambiguous
2>ERROR : UBT error : Failed to produce item: C:\Users\Emin\Documents\Unreal Projects\GPMProto\Plugins\UnrealEnginePython\Binaries\Win64\UE4Editor-UnrealEnginePython.dll
2> Total build time: 42.19 seconds
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(37,5): error MSB3075: The command ""C:\Program Files\Epic Games\4.12\Engine\Build\BatchFiles\Build.bat" GPMProtoEditor Win64 Development "C:\Users\Emin\Documents\Unreal Projects\GPMProto\GPMProto.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Hi guys,
I'm trying to export/import some data from 3dsMax file. I decided to save a .meta file for every FBX file we save (one FBX per geometry in our case).
I got it working for the selected Actors using the ue.editor_get_selected_actors() but I can't find a way to get all the level Actors (e.g. something like ue.editor_get_all_actors()).
To be honest, I'm struggling to find a connection between the Assets and the Actors. I used for example the ue.get_assets_by_class('StaticMesh') to collect all the static meshes, I filtered the ones I wanted but then I couldn't find the Actors in the level.
Also, is there anyway to expose the "content" path? I want to scan the dir for my meta files (I assume what I'm looking for is the FPaths::GameContentDir()).
Last thing, is there any way to create callbacks? I might want to set a post_import callback to automatically load the meta files.
Thanks,
Nick
If I use init.py UnrealEngine can't reload module dynamically
Can you handle this?
Hi,
I tried this and it caused unreal to crash when I attempt to open the Static Mesh asset from the Content Browser
(It acutally already crashes when I open the Folder "ImportTest" in the Content Browser):
import unreal_engine as ue
from unreal_engine.classes import StaticMesh
sm = ue.load_object(StaticMesh, "/Game/ImportTest/my_static_mesh")
source_model = sm.SourceModels[0]
source_model.BuildSettings.bUseFullPrecisionUVs = True
I am aware that when you do this within the UI you need to press the "ApplyChanges" button.
Any way to get this working?
Can I get Python instance from PyActor?
like this:
class MyPyActor:
def on_actor_begin_overlap(self, me, other_actor):
python_instance = other_actor.get_py_instance()
# do something with python_instance
Hi Guys,
After a little help from 20tab, I successfully compiled the plugin and ran the first example with the Py Anchor and everything worked great. The next step for me, is to have a PySide QtWidget running in Unreal. I uncommented this line, re-build and tried to run the following small script.
import sys
from PySide import QtGui, QtCore
class ModalWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(ModalWidget, self).__init__()
self.resize(200, 200)
self.setWindowModality(QtCore.Qt.ApplicationModal)
# Label Widget
self.test_lbl = QtGui.QLineEdit(self)
self.show()
class MainWidget(QtGui.QWidget):
def __init__(self, parent=None):
super(MainWidget, self).__init__()
self.resize(400, 200)
self.window = None
# Button Widget
self.my_btn = QtGui.QPushButton(self)
self.my_btn.clicked.connect(self.open_second_window)
self.my_btn.setText("Open Modal Window")
self.show()
# Def to open the Modal window
def open_second_window(self):
self.window = ModalWidget()
When I import PySideTestWidget, it loads the module fine. When I try to execute PySideTestWidget.MainWidget() Unreal instantly freezes. Any idea why and how to fix?
Thanks,
Nick
***Note I'm relatively new to Python and completely new to Unreal.
It should be compatibile with reflection-based functions
Hey guys,
how could I delete, move or rename an exisiting asset in the content browser?
Also, is there a way to check the existence of a folder (apart from checking on file system) and then list all assets within that folder?
I tried to figure this out by digging around in the existing funcionality but had no luck.
Following the "Asset Importing" example in the Python Console and encountering an error.
import unreal_engine as ue
factory = ue.find_class('TextureFactory')
factory_obj = ue.new_object(factory)
If run from an external script I get the following error:
"argument is not a UObject"
Running directly in the console results in a crash.
Thanks again for adding the import function! Just wanted to report the bug.
Hi guys,
any issues to be expected building the plugin with 4.13?
Check if the plugin correctly build on latest engine release
Hi,
i am getting a build error concerning the python version.
Is it supposed to be 32 or 64 bit?
Regards,
Lars
Example from readme is OK on Windows, but on Mac spinning wheel and no mouse over events.
How are events getting delivered in the Windows release and how does Mac differ?
Easy for me to work around by moving to Windows for now. Thank you.
Python 2.7 has non-const char * parameters for method and format. This can be worked around with a const_cast:
diff --git a/Source/UnrealEnginePython/Private/UEPyModule.cpp b/Source/UnrealEnginePython/Private/UEPyModule.cpp
index 1ddde64..73e35d6 100644
--- a/Source/UnrealEnginePython/Private/UEPyModule.cpp
+++ b/Source/UnrealEnginePython/Private/UEPyModule.cpp
@@ -1589,7 +1589,7 @@ UFunction *unreal_engine_add_function(UClass *u_class, char *name, PyObject *py_
if (!inspect) {
return NULL;
}
- PyObject *signature = PyObject_CallMethod(inspect, "signature", "O", py_callable);
+ PyObject *signature = PyObject_CallMethod(inspect, const_cast<char*>("signature"), const_cast<char*>("O"), py_callable);
if (!signature) {
return NULL;
}
Don't seem worth a pull request:
../../Source/UnrealEnginePython/Private/UEPyFColor.cpp
-static void fcolor_add_color(char *color_name, FColor fcolor) {
+static void fcolor_add_color(const char *color_name, FColor fcolor) {
../../Source/UnrealEnginePython/Private/UEPyFLinearColor.cpp
-static void flinearcolor_add_color(char *color_name, FLinearColor lcolor) {
+static void flinearcolor_add_color(const char *color_name, FLinearColor lcolor)
If not, wondering if there would be a way to help with that. Thanks very much.
I love the have auto completion working in Visual Studio Code with UnrealEnginePython.
Is there anyway to do that?
If not, is there a way to have some APIs doc to reference to?
I'm interested in building up levels using Python scripts, not so much using Python in run mode.
Have tried reading the UE source base to find the editor classes. How much could be exposed to Python? Import to Content Browser with options set, import to World Outliner, again with options, etc.?
Now that we have a solid base to work on, we can stop using single tuple for native types and introducing
wrapper for FVector and FRotator. This will remove the need for math features in the unreal_engine api
Hi guys,
Can you please expose UnrealEditors's Window handle so we can set it as parent to the QtWidgets?
Similar to 3dsMax's MaxPlus.GetQMaxWindow().
Thanks,
Nick
When subclassing, every python callable is mapped to a UE4 function (eventually overridden if it matches a base function). The system should take in account multicast delegates so we can fastly do:
class Hero(Character):
def OnActorBeginOverlap(self, .....):
...
without registering the event in the init
Hi,
I hope this is a good place to ask questions.
I am experimenting with your project (which is great btw) and I am trying a basic interaction between a C++ Actor and a PyComponent contained in the actor.
What I need is basically call a python function from C++ actor passing parameters from C++ and receving a result from python (all synchronous).
So, i have tried to create the PyComponent object in the C++ Actor and add it to the RootComponent but I am running in a number of issues with includes. The code looks like:
#include "UnrealEnginePython.h"
#include "PythonComponent.h"
[....]
myPyComponent = CreateDefaultSubobject<UPythonComponent>(TEXT("MyPyComponent"));
Now, when I include the "PythonComponent.h" file, I get errors, probably related to include of Python headers:
error C2143: syntax error: missing ';' before '*'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2238: unexpected token(s) preceding ';'
on this line in PyComponent.h:
PyObject *py_component_instance;
Am i missing something? Am I not supposed to include "PythonComponent.h" in my game? Maybe I am just going down a rabbit hole and there is just a different way to do what I need?
Thanks a lot!
Mike
Hi again,
I know that this is already in the list, I just wanted to create this "issue" in order to track the process.
The idea is that I would love if I could have the ability to create menus/buttons in the editor instead of having to execute python commands to start a tool.
Thanks,
Nick
Excited by the prospect of using Python to automate actions in the editor like moving files around, assigning materials, importing meshes, querying asset data, and communicating with external python tools. I'm wondering if any of this is possible with the current state of this plug-in. Using python in conjunction with blueprints sounds like a great augmentation, but the most potential I see here is making up for Unreal4's lack of a more general scripting interface.
Really awesome work btw! I'll be watching this.
Introduce unreal_engine.enums (or something similar) to get access to ENum, like we already do with classes:
https://github.com/20tab/UnrealEnginePython/blob/master/README.md#the-automagic-uclass-mapper
Hi,
I am experiencing a deadlock when I call SetPythonAttrObject from within a C++ function invoked from Python. Is this something that should work currently? I have threading enabled, but everything UE-related is on the main thread. Other thread is running an async event loop that wouldn't be blocking.
@rdeioris I am currently adding support for getting assets by using a FARFilter. I am creating a new PyFARFilter object to use and was wondering if you have any recommendations on how to handle the TArray, TSet and TMultiMap properties. Is there anything already setup in the existing code base for wrapping an object like this?
More information about FARFilter here:
https://docs.unrealengine.com/latest/INT/API/Runtime/AssetRegistry/FARFilter/index.html
On Sierra, recent changes have gotten the plugin to successfully compile (using Python 3.5.2, UE 4.13, threading support disabled).
But running the unit tests cause the editor to crash:
If I comment out
self.uobject.quit_game()
from tests.py
Then I get the following output:
PlayLevel: No blueprints needed recompiling
New page: SIE session: MainLevel (Oct 23, 2016, 11:05:51 PM)
Creating play world package: /Game/UEDPIE_0_MainLevel
PIE: StaticDuplicateObject took: (0.002017s)
Creating AISystem for world MainLevel
Got a bulk data texture, with 1 mips
PIE: World Init took: (0.000700s)
Got a bulk data texture, with 1 mips
PIE: Created PIE world by copying editor world from /Game/MainLevel.MainLevel to /Game/UEDPIE_0_MainLevel.MainLevel (0.003290s)
Got a bulk data texture, with 1 mips
FAudioDevice initialized.
Game class is 'GameMode'
Bringing World /Game/UEDPIE_0_MainLevel.MainLevel up for play (max tick rate 0) at 2016.10.24-03.05.51
Bringing up level for play took: 0.001412
Native class hierarchy updated for 'MovieSceneCapture' in 0.0018 seconds. Added 11 classes and 0 folders.
Match State Changed from EnteringMap to WaitingToStart
F
F
.
F
======================================================================
FAIL: test_create_player (tests.TestPlayer)
----------------------------------------------------------------------
Traceback (most recent call last):
File "../../../../../../Pepin/Dropbox/ETC/Fall 2016/Cozplay/Final Unity Setup/Unreal mk2/Test2/Content/Scripts/tests.py", line 45, in test_create_player
self.assertEqual(self.actor.get_num_players(), 1)
AssertionError: 0 != 1
======================================================================
FAIL: test_location (tests.TestTransform)
----------------------------------------------------------------------
Traceback (most recent call last):
File "../../../../../../Pepin/Dropbox/ETC/Fall 2016/Cozplay/Final Unity Setup/Unreal mk2/Test2/Content/Scripts/tests.py", line 26, in test_location
self.assertEqual(location, (1, 1, 1))
AssertionError: <unreal_engine.FVector object at 0x179c65790> != (1, 1, 1)
======================================================================
FAIL: test_scale (tests.TestTransform)
----------------------------------------------------------------------
Traceback (most recent call last):
File "../../../../../../Pepin/Dropbox/ETC/Fall 2016/Cozplay/Final Unity Setup/Unreal mk2/Test2/Content/Scripts/tests.py", line 38, in test_scale
self.assertEqual(scale, (3, 5, 7))
AssertionError: <unreal_engine.FVector object at 0x179c65790> != (3, 5, 7)
----------------------------------------------------------------------
Ran 4 tests in 0.001s
FAILED
(failures=3)
Match State Changed from EnteringMap to WaitingToStart
Info Play in editor start time for /Game/UEDPIE_0_MainLevel 0.499
Any ideas what could be going on?
Is there anyway to do with the current python binding?
I would like to do something like this:
myMaterialInstance.OverrideScalarParameterDefault("UseThisColor", 1.0, True)
Cheers,
Eric
Currently we are able to get this UObject via reflection but are unable to access any of it's methods.
Should a new class be created that inherits from UObject and adds the missing functions for this class? Is there a mechanism for looking up and returning python wrappers for these classes when reflection is invoked?
One of the major features of Unreal.js that is handy is the ability to create subclasses of Engine classes in js (they are converted to JavascriptDelegateClass and treated similar to Blueprints). The same functionality would be nice in UE4.py as well.
Assumptions for below example:
See code example.
Content/Scripts/my_base_player.py
from unreal_engine.classes import Character
class MyBasePlayer(Character):
def __init__(self):
super().__init__()
self.CharacterMovement.MaxWalkSpeed = 1200
def is_grounded(self):
return self.CharacterMovement.IsMovingOnGround()
Content/Scripts/my_base_gamemode.py
import unreal_engine as ue
from my_base_player import MyBasePlayer
class MyBaseGameMode:
def __init__(self):
if self.uobject.get_world().IsServer():
owner = self.uobject.get_owner()
owner.DefaultPawnClass = MyBasePlayer()
Here is a link to the Unreal.js method of subclassing. Theirs even works with Blueprints, which would be a nice addition at some point as well.
Currently the way add_ticker is implemented causes all ticker events to be treated as one shots and not execute repeatedly. The function added to the delegate is expected to return either true or false. If false then the function will not be called again. Is it possible to address this issue with the way add_ticker is currently implemented?
We intend to use the plugin within a project, where we need to deliver the application for several plattforms - including Desktop, VR and Mobile (iOS and Android).
How would the plugin work on a mobile device? I am not familiar with running python on mobile devices, which might already answer the question.
https://docs.unrealengine.com/latest/INT/API/Developer/DirectoryWatcher/index.html
This will be extremely useful for automatic code reloading
Extend the editor api to allow scripting of the sequencer
Hi,
I manually created a blueprint actor called "MyActor".
How do I add an imported asset as component to that actor?
I think I might be on the totally wrong track here:
>>> from unreal_engine.classes import StaticMeshComponent
>>> my_asset = ue.find_oject("/Game/Imports/my_asset")
>>> my_blueprint = ue.find_object("Game/BP/MyActor")
>>> my_blueprint.add_actor_component(StaticMeshComponent, my_asset.get_full_name())
uobject is not an AActor
Traceback (most recent call last):
File "<string>", line 1, in <module>
Exception: uobject is not an AActor
Hi,
I am tryint to change the materials on an imported asset in the content browser, which is a Static Mesh by the uniqe name "test":
I get a reference to the static mesh and also the material, that I want to assign.
Both "find_object" operations work fine and I am able to retrieve the current materials by calling
get_property("Materials"). But setting the property with a new list won't work - example code:
import unreal_engine as ue
my_asset = ue.find_object("test")
new_material = ue.find_object("test_material")
my_asset.set_property("Materials", [new_material])
Exception: unable to set property Materials
Is there any special kind of List/Array-instance I need to create and pass?
Hi,
I changed the material on a StaticMesh using "my_asset.Materials = [...]". I discovered that the material changes are lost on restart of the editor if I don't open the static mesh and save it manually.
How can I save it by script? I looked into "save_package". but didn't really get ho to work it in order to save in place:
https://docs.unrealengine.com/latest/INT/API/Runtime/CoreUObject/UObject/UPackage/SavePackage/index.html
I "simply" want to trigger the same behaviour as if I was pressing the save button in the editor.
I was able to get this up and running thanks to your latest commit and with the "funnygameclasses.py" used in the readme. The example of moving the sphere at every tick worked fine. However, I'm wondering what the process is for adding other python packages such as numpy in Linux. Here's the error I'm getting from the log:
[2016.10.03-01.13.50:776][717]LogPython:Error: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
[2016.10.03-01.13.50:777][717]LogPython:Error: Traceback (most recent call last):
[2016.10.03-01.13.50:777][717]LogPython:Error: File "../../../../../Projects/Unreal/DeepCars/Content/Scripts/funnygameclasses.py", line 3, in
import numpy as np
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/init.py", line 180, in
from . import add_newdocs
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/init.py", line 8, in
from .type_check import *
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in
import numpy.core.numeric as _nx
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/core/init.py", line 14, in
from . import multiarray
[2016.10.03-01.13.50:777][717]LogPython:Error: ImportError: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
[2016.10.03-01.13.50:812][717]LogPython:Error: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
[2016.10.03-01.13.50:812][717]LogPython:Error: Traceback (most recent call last):
[2016.10.03-01.13.50:812][717]LogPython:Error: File "../../../../../Projects/Unreal/DeepCars/Content/Scripts/funnygameclasses.py", line 3, in
import numpy as np
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/init.py", line 180, in
from . import add_newdocs
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/init.py", line 8, in
from .type_check import *
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in
import numpy.core.numeric as _nx
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/core/init.py", line 14, in
from . import multiarray
[2016.10.03-01.13.50:812][717]LogPython:Error: ImportError: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
Allow to pythonize the Character class too (in addition to Actor and Pawn)
Hi,
I'm having an issue when spawning new actors. The code works fine when inside the function begin_play, but when called from an other function it just crashes UE without explanation.
I'm new to UE so maybe I haven't completely understood how it should work...
Here is the code I use :
new_actor = self.ue_object.actor_spawn(ue.find_class('PyActor'), FVector(0, 0, 0), FRotator(0, 0, 90))
Thank you
You guys are completely awesome. My dream since ue4 was released was to have Python in the mix. Python is like, the perfect match for ue4 and the blueprint system. SO many possibilities here. I tried, tried to drop in cpython, SWIG, and failed badly. Crashes and errors galore.
My plan was to use Kivy ports to get things to work on mobile as well.
How can I help? What kind of hacking needed? Oh, feel free to close this issue once you guys all admit you're the coolest thing that's happened to ue4. This is testament to the best part of open source.
Expose the FUdpSocketReceiver class to python.
Check https://wiki.unrealengine.com/UDP_Socket_Sender_Receiver_From_One_UE4_Instance_To_Another
This will allow to open udp services in UE4 from python
The experimental UEPY_THREADING changes are causing Unreal 4.1.2 to not fully launch for me. Backing out of this commit resolves the problem. I'm not sure if this is also an issue with 4.1.3.
On the topic of threading, is it possible to run the "import_asset" and "asset_reimport" commands from a separate python thread? My guess would be it's not thread safe, but maybe there is way to have it execute on the main engine thread? Forgive my lack of knowledge on this, could see it being a complicated matter.
Asking because I'm currently launching an rpc-server on a separate python thread in the hopes of sending commands to the Editor from an outside python console. The server has a while loop to catch incoming connections and commands, which means I have to run it on a background thread in order to not pause the editor.
Calling the UFunction GetActorBounds causes an uncoverable fatal error.
Hi! Is it possible to create a PythonComponent using blueprints? I only see pyActor pyPawn and pyCharacter in the list of available blueprints.
While I'm trying to get familiar with developing in Python for Unreal, I realised that I didn't know how to access funtions. Currently we have access to properties (.get_property, .set_property, .properties) and they work fine but how about functions? I saw that in the UEPyModule.cpp there are a few related functions (.find_function and .call_function") but I can't make them work. I assume that I'm doint something wrong.
That's a simple example of how I was trying access Actor's GetLevel() function:
Scripts\test.py
def fun():
selected_actors = ue.editor_get_selected_actors()
for actor in selected_actors:
fn = actor.find_function("GetLevel")
ue.log(str(fn))
This prints "None". What am I doing wrong?
I was able to get this up and running thanks to your latest commit and with the "funnygameclasses.py" used in the readme. The example of moving the sphere at every tick worked fine. However, I'm wondering what the process is for adding other python packages such as numpy in Linux. Here's the error I'm getting from the log:
[2016.10.03-01.13.50:776][717]LogPython:Error: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
[2016.10.03-01.13.50:777][717]LogPython:Error: Traceback (most recent call last):
[2016.10.03-01.13.50:777][717]LogPython:Error: File "../../../../../Projects/Unreal/DeepCars/Content/Scripts/funnygameclasses.py", line 3, in
import numpy as np
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/init.py", line 180, in
from . import add_newdocs
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/init.py", line 8, in
from .type_check import *
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in
import numpy.core.numeric as _nx
[2016.10.03-01.13.50:777][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/core/init.py", line 14, in
from . import multiarray
[2016.10.03-01.13.50:777][717]LogPython:Error: ImportError: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
[2016.10.03-01.13.50:812][717]LogPython:Error: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
[2016.10.03-01.13.50:812][717]LogPython:Error: Traceback (most recent call last):
[2016.10.03-01.13.50:812][717]LogPython:Error: File "../../../../../Projects/Unreal/DeepCars/Content/Scripts/funnygameclasses.py", line 3, in
import numpy as np
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/init.py", line 180, in
from . import add_newdocs
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/init.py", line 8, in
from .type_check import *
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/lib/type_check.py", line 11, in
import numpy.core.numeric as _nx
[2016.10.03-01.13.50:812][717]LogPython:Error: File "/home/daeil/.local/lib/python2.7/site-packages/numpy/core/init.py", line 14, in
from . import multiarray
[2016.10.03-01.13.50:812][717]LogPython:Error: ImportError: /home/daeil/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.