Skip to content

Commit 7cac9bc

Browse files
authored
Merge pull request #1393 from mathics/remove-psutil-for-msys
Make psutil optional - msys doesn't have
2 parents 8120d4b + 237d80d commit 7cac9bc

4 files changed

Lines changed: 40 additions & 31 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
*.c
22
*.cpp
3+
*.dll
34
*.egg
45
*.gz
56
*.nix

mathics/builtin/system.py

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
import os
1010
import platform
11-
import psutil
1211
import sys
1312
import re
1413
import subprocess
@@ -29,6 +28,13 @@
2928
from mathics import version_string
3029
from mathics.builtin.strings import to_regex
3130

31+
try:
32+
import psutil
33+
except:
34+
have_psutil = False
35+
else:
36+
have_psutil = True
37+
3238

3339
class Aborted(Predefined):
3440
"""
@@ -459,42 +465,43 @@ def evaluate(self, evaluation) -> Real:
459465
return Real(self.value)
460466

461467

462-
class SystemMemory(Predefined):
463-
"""
464-
<dl>
465-
<dt>'$SystemMemory'
466-
<dd>Returns the total amount of physical memory.
467-
</dl>
468+
if have_psutil:
469+
class SystemMemory(Predefined):
470+
"""
471+
<dl>
472+
<dt>'$SystemMemory'
473+
<dd>Returns the total amount of physical memory.
474+
</dl>
468475
469-
>> $SystemMemory
470-
= ...
471-
"""
476+
>> $SystemMemory
477+
= ...
478+
"""
472479

473-
name = "$SystemMemory"
480+
name = "$SystemMemory"
474481

475-
def evaluate(self, evaluation) -> Integer:
476-
totalmem = psutil.virtual_memory().total
477-
return Integer(totalmem)
482+
def evaluate(self, evaluation) -> Integer:
483+
totalmem = psutil.virtual_memory().total
484+
return Integer(totalmem)
478485

479-
class MemoryAvailable(Builtin):
480-
"""
481-
<dl>
482-
<dt>'MemoryAvailable'
483-
<dd>Returns the amount of the available physical memory.
484-
</dl>
486+
class MemoryAvailable(Builtin):
487+
"""
488+
<dl>
489+
<dt>'MemoryAvailable'
490+
<dd>Returns the amount of the available physical memory.
491+
</dl>
485492
486-
>> MemoryAvailable[]
487-
= ...
493+
>> MemoryAvailable[]
494+
= ...
488495
489-
The relationship between $SystemMemory, MemoryAvailable, and MemoryInUse:
490-
>> $SystemMemory > MemoryAvailable[] > MemoryInUse[]
491-
= True
492-
"""
496+
The relationship between $SystemMemory, MemoryAvailable, and MemoryInUse:
497+
>> $SystemMemory > MemoryAvailable[] > MemoryInUse[]
498+
= True
499+
"""
493500

494-
def apply(self, evaluation) -> Integer:
495-
"""MemoryAvailable[]"""
496-
totalmem = psutil.virtual_memory().available
497-
return Integer(totalmem)
501+
def apply(self, evaluation) -> Integer:
502+
"""MemoryAvailable[]"""
503+
totalmem = psutil.virtual_memory().available
504+
return Integer(totalmem)
498505

499506

500507
class MemoryInUse(Builtin):

requirements-extra.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# Optional packages which add functionality or speed things up
2+
psutil #
23
scikit-image # FindMinimum can use this
34
lxml # for HTML parsing used in builtin/fileformats/html
45
wordcloud # Used in builtin/image.py by WordCloud()

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def read(*rnames):
111111
"palettable",
112112
"pint",
113113
"python-dateutil",
114-
"psutil", # for $SystemMemory
114+
# "psutil", # for $SystemMemory
115115
"llvmlite",
116116
"requests",
117117
# lxml is an optional dependency for HTML parsing used in builtin/fileformats/html

0 commit comments

Comments
 (0)