OK, will try.
I tried in my conda install, it worked flawlessly from anaconda prompt. But it only installed the workbench for the conda freecad. Other freecads don't see the new workbench. I guess, it is supposed to be like that...
OK, will try.
Yes, this is what looo and I am discussing in the other thread. We need a way to get pip to install into %appdata%/freecad/mod or the like. For packages with compiled extensions we somehow have to resolve potential dependency problems.
Code: Select all
>>> import subprocess
>>> subprocess.Popen(["pip"])
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\FreeCAD\builds-snapshots\Default\bin\lib\subprocess.py", line 390, in __init__
errread, errwrite)
File "C:\FreeCAD\builds-snapshots\Default\bin\lib\subprocess.py", line 640, in _execute_child
startupinfo)
WindowsError: [Error 2]
>>>
Actually, per-instance installs are also useful. I'd like there be an option. For example, FCGear seems to somehow cause a crash onto my debug builds, so I have to uninstall it temporarily to do C++ work.
Code: Select all
>>> subprocess.Popen(["C:/Users/chris/Downloads/FreeCAD_0.18.14487_x64_dev_win/bin/Scripts/pip"])
<subprocess.Popen object at 0x0000000009CB8358>
>>>
sys.path is only for python. As pip is a system command you have to add it to $PATH. But I don't know what the windows equivalent is.sgrogan wrote: ↑Wed Aug 29, 2018 12:14 pmI tried adding the path to sys.path but it didn't work.Code: Select all
>>> subprocess.Popen(["C:/Users/chris/Downloads/FreeCAD_0.18.14487_x64_dev_win/bin/Scripts/pip"]) <subprocess.Popen object at 0x0000000009CB8358> >>>
Code: Select all
>>> import sys
>>> import subprocess
>>> subprocess.Popen([sys.exec_prefix + "\\Scripts\\pip"])
<subprocess.Popen object at 0x000000000A5FBD30>
>>>
This seems to work:
Code: Select all
>>> os.environ['PATH'] = os.environ['PATH'] + r';S:\_vt\dev\PC\Qt\FreeCAD\builds-snapshots\Default\bin\Scripts' #terribly non-crossplatform, just for test
>>> subprocess.Popen(["pip"])
<subprocess.Popen object at 0x00000257A3533A58>
>>>
Code: Select all
>>> for val in os.environ['PATH'].split(';'): print(val)
...
C:\FreeCAD\builds-snapshots\Default\bin
C:\FreeCAD\builds-snapshots\Default\Mod\Sketcher
C:\FreeCAD\builds-snapshots\Default\Mod\ReverseEngineering
C:\FreeCAD\builds-snapshots\Default\Mod\Show
C:\FreeCAD\builds-snapshots\Default\Mod\Image
C:\FreeCAD\builds-snapshots\Default\Mod\Surface
C:\FreeCAD\builds-snapshots\Default\Mod\PartDesign
C:\Users\EMB\AppData\Roaming\FreeCAD\Mod\TabBar
C:\FreeCAD\builds-snapshots\Default\Mod\Measure
C:\Users\EMB\AppData\Roaming\FreeCAD\Mod\Lattice2
C:\FreeCAD\builds-snapshots\Default\Mod\Ship
C:\FreeCAD\builds-snapshots\Default\Mod\Plot
C:\FreeCAD\builds-snapshots\Default\Mod\MeshPart
C:\FreeCAD\builds-snapshots\Default\Mod\OpenSCAD
C:\FreeCAD\builds-snapshots\Default\Mod\Fem
C:\FreeCAD\builds-snapshots\Default\Mod\Spreadsheet
C:\FreeCAD\builds-snapshots\Default\Mod\Start
C:\FreeCAD\builds-snapshots\Default\Mod\Points
C:\FreeCAD\builds-snapshots\Default\Mod\Draft
C:\Users\EMB\AppData\Roaming\FreeCAD\Mod\_disabled
C:\FreeCAD\builds-snapshots\Default\Mod\Test
C:\FreeCAD\builds-snapshots\Default\Mod\Import
C:\FreeCAD\builds-snapshots\Default\Mod\TechDraw
C:\FreeCAD\builds-snapshots\Default\Mod\Tux
C:\FreeCAD\builds-snapshots\Default\Mod\Complete
C:\FreeCAD\builds-snapshots\Default\Mod\Web
C:\FreeCAD\builds-snapshots\Default\Mod\Material
C:\FreeCAD\builds-snapshots\Default\Mod\Raytracing
C:\FreeCAD\builds-snapshots\Default\Mod\Mesh
C:\Users\EMB\AppData\Roaming\FreeCAD\Mod\Curves
C:\FreeCAD\builds-snapshots\Default\Mod\Path
C:\FreeCAD\builds-snapshots\Default\Mod\Part
C:\FreeCAD\builds-snapshots\Default\Mod\Arch
C:\FreeCAD\builds-snapshots\Default\Mod\Robot
C:\FreeCAD\builds-snapshots\Default\Mod\AddonManager
C:\Users\EMB\AppData\Roaming\FreeCAD\Mod\Part-o-Magic
C:\FreeCAD\builds-snapshots\Default\Mod\Idf
C:\FreeCAD\builds-snapshots\Default\Mod\Inspection
C:\FreeCAD\builds-snapshots\Default\Mod\Drawing
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Program Files (x86)\Skype\Phone\
C:\Qt\Git\cmd
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\WINDOWS\System32\OpenSSH\
C:\Users\EMB\AppData\Local\Microsoft\WindowsApps
C:\Qt\git\bin
C:\Users\EMB\AppData\Local\Microsoft\WindowsApps
S:\_vt\dev\PC\Qt\FreeCAD\libpack\active\bin
C:\Users\EMB\AppData\Local\GitHubDesktop\bin
S:\_vt\dev\PC\Qt\FreeCAD\builds-snapshots\Default\bin\Scripts
>>>
Code: Select all
pip install future -c constraint.txt